На снимке экрана ниже, какой текст заменит красный текст, чтобы в G можно было вычислять диапазоны от H и VLOOKUP?

Я пробовал различные варианты использования адреса и объединения, но не могу найти решение.

Скриншот

См. Источник этого вопроса для частичной (копируемой и вставляемой) текстовой версии приведенной выше таблицы.

2 ответа2

1

Функция, которую вы ищете, является INDIRECT() .  Это возвращает ссылку, указанную в строке.  Например, INDIRECT("B2") эквивалентен ссылке на ячейку B2 , а INDIRECT("B2:C4") эквивалентен ссылке на диапазон B2:C4 .

Очевидно, вам нужно получить значения текстовой строки из G2:H11 в D18:D32 .  Это просто; просто используйте VLOOKUP(A18, A$2:H$11, 7) 11,7) и VLOOKUP(A18, A$2:H$11, 8) .  Используя эти строительные блоки, мы получаем эту формулу для D18:

=VLOOKUP(B18, INDIRECT(VLOOKUP(A18, A$2:H$11, 7) & ":" & VLOOKUP(A18, A$2:H$11, 8)), 2)

в котором мы объединить значение «первой ячейки» (от колонки G иначе столбец 7), а значение «последней ячейки» (из колонки H он же колонке 8)с двоеточием : используя оператор & струны конкатенации.  Затем используйте INDIRECT() чтобы превратить строки типа B2:C4 в доступные для поиска диапазоны.  Затем перетащите / заполните D18 вниз.

        таблица

% Комиссии для боба выглядит как #N/A потому что его даты неверны:B5 и B6 в 2017 году, а B25:B27 в 2016 году.

0

У вас есть два критерия, поэтому проще, если вы научитесь использовать INDEX MATCH вместо этого.

=INDEX($C$2:$C$11,
       MATCH(1, (A18 = $A$2:$A$11) * (B18 < $B$2:$B$11), 0)
 )

и не забудьте нажать Ctrl+Shift+Enter вместо Enter, чтобы вставить эту формулу массива.


$C$2:$C$11 - это ваша комиссия в колонке

MATCH(1, ..., 0) ищет только там, где оба условия выполняются.

A18 = $A$2:$A$11 ищет подходящее имя

B18 < $B$2:$B$11 ищет дату ранее указанной даты

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