Мне нужно передать функции VLOOKUP ближайшее значение в ячейку D242 как lookup_value. Например, у меня дата 30.08.12 как lookup_value. Если значение 30.08.12 ищите ближайшее значение до 30.08.12, которое меньше 30.08.12 . В этом случае это будет 29.08.12 .

    =VLOOKUP(D242;Table_crs.accdb[[Date]:[Sell]];3;FALSE)
Where 
    1. D242 is lookup_value
    2. Table_crs.accdb[[Date]:[Sell]] is table_array
    3. 3 is col_index-_num
    4. FALSE is [range_lookup]

2 ответа2

1

Вам на самом деле не нужно использовать LOOKUP и VLOOKUP , попробуйте либо изменить исходную формулу, используя TRUE в качестве range_lookup, что приведет к тому, что она будет вести себя так, как вы хотите, т.е.

=VLOOKUP(D242;Table_crs.accdb[[Date]:[Sell]];3;TRUE)

..... или используйте LOOKUP, как это

=LOOKUP(D242;Table_crs.accdb[[Date]:[Sell]])

Обе эти формулы требуют сортировки столбца Дата по возрастанию (как и ваше предложение)

0

Чтобы использовать функцию LOOKUP в качестве аргумента lookup_value для внешней функции VLOOKUP:

=VLOOKUP(LOOKUP(D243;Table_crs.accdb[Date]);Table_crs.accdb[[Date]:[Sell]];3;FALSE)

LOOKUP используется потому что

Если LOOKUP не может найти lookup_value, оно соответствует наибольшему значению в lookup_vector, которое меньше или равно lookup_value.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .