2014-12-29 2 views
1

Я хочу, чтобы вы объяснили, почему эта формула работает: =LOOKUP(2,1/(A2:A10=D2),B2:B10) Я знаю о поиске, я знаю, что делает эта формула (Следующая формула ищет A2: A10 для последнего экземпляра значения в D2 и возвращает соответствующее значение от B2: B10 ...), но я не понимаю, как это работает. Например, что делает эта часть: A2: A10 = D2? Вот источник, где можно найти книгу также: http://www.xl-central.com/lookup-last-instance.htmlКак работает эта формула поиска?

+0

Вы выбрали ячейку с формулой и использовали Формулы ► Аудит аудита ► Оценка формулы? – Jeeped

+0

Хороший намек, но не помог слишком много. Фактически это помогло мне понять часть A2: A10 = D2, но не другие. A2: A10 = D2 в основном проходит через ячейки в диапазоне и применяет проверку равенства на них, а затем возвращает список с булевыми элементами в соответствии с проверкой. – apreg

ответ

2
LOOKUP(lookup_value, lookup_vector, [result_vector]) 

LOOKUP function очень простой кузен HLOOKUP function и VLOOKUP function. Два последние обеспечивают дополнительные функциональные возможности для выбора строки/столбца данных для возврата из их table_array параметра (номер_строки/номер_столбец), а также интервальный_просмотра варианта, который может заставить точное совпадение или приближенные (иначе ближайшие) при использовании с отсортированными данными. Функция LOOKUP должна иметь значение result_vector (возвращаемая строка или столбец), если она не совпадает с lookup_vector и всегда возвращает ближайшее совпадение.

Excel рассматривает TRUE как один и FALSE как ноль при математическом использовании. делится на будет равна и деленной на является #DIV/0! ошибка. Ошибка #DIV/0! не будет соответствовать чему-либо; нет даже другой #DIV/0! ошибка. Так как вы ищете , он найдет что-то, что может быть быть лучшим совпадением в строке 2 (например, 1/1), но продолжает смотреть, потому что это не точное совпадение. Он находит другое возможное в строке 5, но продолжает искать. Он находит другое возможное в строке 8 и не может найти ничего удаленно закрытого ниже, поэтому он возвращает значение из столбца B в строке 8. Мы ищем соответствие с номером и ошибки, потому что мы хотим последний ближайший матч.

Во всех смыслах и целях вы нарушаете правила при использовании этого типа формул как lookup_vector не в порядке возрастания (что обычно должно быть). С несортированными повторяющимися значениями мы достигаем правильных результатов, полагаясь на «нарушенное» поведение функции при поиске значения, которое он никогда не найдет; например ищет в массиве и ошибки.

+0

Отличный ответ. +1 для "boken behavior" –

Смежные вопросы