Формула Excel: Пошук останньої ціни -

Загальна формула

=LOOKUP(2,1/(item="hat"),price)

Резюме

Для пошуку останньої ціни на товар у списку, відсортованої таким чином, щоб останні товари з’явились останніми, ви можете скористатися формулою на основі функції ПЕРЕГЛЯД. У прикладі шоу формула G7 має вигляд:

=LOOKUP(2,1/(item=F7),price)

де товар - іменований діапазон B5: B12, ціна - іменований діапазон D5: D12, а дані сортуються за зростанням за датою.

Пояснення

Функція LOOKUP передбачає сортування даних і завжди виконує приблизний збіг. Якщо значення пошуку перевищує всі значення масиву пошуку, поведінка за замовчуванням "повертається" до попереднього значення. Ця формула використовує цю поведінку, створюючи масив, що містить лише 1 і помилки, а потім навмисно шукає значення 2, яке ніколи не буде знайдено.

Спочатку обчислюється цей вираз:

item=F7

Коли F7 містить "сандалі", результатом є масив значень TRUE і FALSE, таких як:

(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Цей масив подається як дільник на 1:

1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Операція математики автоматично примушує значення TRUE і FALSE до 1s і 0s, тому в результаті виходить інший масив, подібний до цього:

(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)

повертається безпосередньо до функції LOOKUP як аргумент вектора пошуку.

Зверніть увагу, що масив містить лише два унікальних значення: помилка ділення на нуль (# DIV / 0!) Та число 1.

LOOKUP шукає в масиві значення 2, ігноруючи значення помилок. Не знайшовши 2, він повертається до останнього 1, у позицію 7 у векторі пошуку. Потім LOOKUP повертає 7-й елемент у векторі результату (названий діапазон "ціна"), значення 15.

Щоб прочитати більше про концепцію навмисного пошуку цінності, яка ніколи не з’явиться, прочитайте про BigNum.

Цікаві статті...