Какую формулу (без VBA) можно использовать, если я хочу найти значение, которое я не знаю точного значения в пределах диапазона? Так что скажем, я хочу найти значение, самое близкое к «2», начиная с конца диапазона.Соответствие (ближайшее) значение, начиная с конца диапазона
A B
1 1.45
2 2.03
3 3.40
4 3.01
5 1.94
6 0.99
Ответ будет «5» в этом случае.
Редактировать 1: Я заметил, что мой вопрос требует больше объяснений. Итак, вот оно. Меня интересует не только ближайшее совпадающее значение на конец диапазона, но и тот, который находится на стартует диапазона. Другими словами, я хочу получить как «2», так и «5» из приведенного выше примера. Поскольку в начале диапазона было не сложно получить значение, мне нужна была помощь только в том, чтобы получить тот, который находится в конце диапазона. Но любое предложение получить одно или оба из этих значений оценивается.
Я не могу сортировать данные, потому что данные также используются для других целей.
Edit2: Я думаю, что нашел способ, исправьте меня, если я ошибаюсь. Формула стала немного длинной, поэтому я сломал ее кусочками.
MAX(
INDEX(A,
MATCH(
SMALL(ABS(B-$C$1),1),
ABS(B-$C$1),
0
)
)
INDEX(A,
MATCH(
SMALL(ABS(B-$C$1),2),
ABS(B-$C$1),
0
)
)
)
Функция MAX выложит максимальное значение А, вызвав 2 почти равные функции которых первая будет найти наиболее близкое значение к значению поиска, а второй будет найти второе наиболее близкое значение к значению поиска ,
Как-то вам нужно выполнить (массив). BinarySearch – Odrai
См. Http://stackoverflow.com/help/on-topic. – pnuts
Обратите внимание, что 2.05 и 1.95 одинаково близки к 2 – Bathsheba