У меня есть формула = OFFSET($ AL $ 5,12,0), которая дает мне значение, которое я хочу из столбца AL. Я хочу, чтобы часть $ AL $ 5 была динамической, и посмотрел, чтобы найти то же значение в столбце F.

=(CELL("адрес", INDEX(AL:AL, MATCH(F2, $ AL:$ AL, 0)))) выдает «$ AL $ 5»

Но когда я пытаюсь объединить две формулы, в Excel возникают ошибки:= OFFSET(CELL("адрес", INDEX(AL:AL, MATCH(F2, $ AL:$ AL, 0))), 12,0)* 100

Кто-нибудь знает, как заставить это работать? Заранее спасибо!

1 ответ1

2

Если это =(CELL("address",INDEX(AL:AL,MATCH(F2,$AL:$AL,0)))) выводит "$ AL $ 5", то вывод по-прежнему текстовый, а не адрес ячейки , Чтобы преобразовать его в адрес ячейки, вам нужно обернуть его Indirect().

Но так как вы уже используете Index/Match, вам не нужно преобразовывать адрес ячейки в текст, а затем преобразовывать его обратно в адрес ячейки.

Индекс возвращает диапазон, и вы можете использовать его внутри смещения.

Или, что еще лучше: поскольку вы, кажется, смещаете 12 строк от ячейки, найденной Index, вы также можете встроить это непосредственно в оператор Index. Добавьте 12 строк к числу, найденному Match.

Окончательная формула

=INDEX(AL:AL,MATCH(F2,$AL:$AL,0)+12)*100

Другими словами: в столбце AL найдите значение, указанное в F2, спуститесь на 12 строк и умножьте это значение на 100.

Дайте мне знать, если это работает для вас.

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