Найдем в таблице наибольшую дату, которая меньше или равна заданной (ближайшая снизу). Причем из всех дат в таблице будем учитывать только те, которые относятся к определенному товару (условие). Список может быть несортированным.
Разовьем идеи из статьи Поиск ЧИСЛА ближайшего к заданному. Несортированный список в MS EXCEL . Поскольку даты в MS EXCEL хранятся в числовом виде , то формулы из этой статьи будут работать и для дат.
В таблице введен товар, цена и дата, с которой начинает действовать данная цена. Необходимо для заданного товара получить цену, актуальную на заданную дату.
Задача решается в 2 этапа (см. файл примера ):
Пользователь задает Товар, цену на который требуется определить, и Дату, на которую требуется определить цену (см. желтые ячейки в строке 6).
Ближайшую дату найдем с помощью формулы массива :
= МАКС(ЕСЛИ((Таблица4[Дата]<=B6)*(Таблица4[Товар]=A6);Таблица4[Дата];""))
Текущую цену найдем с помощью еще одной формулы массива:
= ИНДЕКС(Таблица4[Цена]; НАИБОЛЬШИЙ(ЕСЛИ((Таблица4[Дата]=C6)*(Таблица4[Товар]=A6);СТРОКА(Таблица4[Дата])-СТРОКА(Таблица4[[#Заголовки];[Дата]]);"");1);1)
Актуальная цена выделяется в таблице с помощью Условного форматирования .
Данные в таблице могут быть не отсортированы.
© Copyright 2013 - 2024 Excel2.ru. All Rights Reserved
Комментарии