2015-05-01 4 views
2

Мне нужна формула, которая находит денежную массу, ближайшую к 100 на определенную дату. Я сделал эту формулу:Поиск ближайшего значения, если дата равна определенной дате

=(IF("02-01-2009"=C2:C131104;INDEX($K$2:$K$131104;MATCH(MIN(ABS(K2:K131104-100));ABS(K2:K131104-100);0));"")) 

Но он ищет весь лист, а не только строки, в которых дата 02.01.2009.


данных

enter image description here

ответ

1

Yours не будет работать, потому что нужно выполнить условие IF, прежде чем искать для значения. Если вы хотите сделать это без каких-либо дополнительных колонок (как ваша попытка делает), более правильная формула будет:

=INDEX($K$2:$K$25;MATCH(MIN(IF($C$2:$C$25=$T$9;ABS($K$2:$K$25-100);1000));IF($C$2:$C$25=$T$9;ABS($K$2:$K$25-100);1001);0)) 

Убедитесь, что ввести это с CTRL + SHIFT + ENTER, так как это формула массива ,

Здесь ячейка T9 содержит дату, с которой я согласен. 1000 несколько произволен (больше, чем ваше отличие от 100 будет когда-либо). Я проверяю дату. Если он соответствует, я возвращаю деньги - 100, и если это не так, я возвращаю нашу произвольную 1000, чтобы они были исключены из минимума. Как только минимум найдет наименьшую разницу, которая соответствует нашей дате, я выполняю матч и последующий индекс, чтобы получить первое значение денежной массы с минимальной разницей.

+0

Давайте продолжим обсуждение в чате (http://chat.stackoverflow.com/rooms/76803/discussion-between-anwi12ad-and-barry-houdini). – anwi12ad

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