У меня есть таблица, где я хочу получить данные, основанные на метках строк и столбцов. Поэтому я использую INDEX MATCH с массивами в функции MATCH, но я продолжаю получать # N/A, потому что b1:d1 = d1 - FALSE. Почему это?

    1 2 3  
Jan x x o  
Feb x x x  
Mar x x x  

Значение, которое я хочу, находится в ячейке с "о", поэтому я использую
ИНДЕКС (B2:D4, MATCH (1, (B2:D2 = B2)* (B2:D2 = D2), 0))

2 ответа2

1

Чтобы вернуть o в приведенном выше примере, вам понадобится

=INDEX(B2:D4,MATCH("Jan",A2:A4,0),MATCH(3,B1:D1,0))
1

Синтаксис для INDEX() : INDEX(array, row_num,[column_num]) . Вы указываете только row_num с помощью MATCH() в своей формуле.

Формула @ RET даст вам искомую ячейку, потому что она определяет и row_num и column_num .

В Excel есть полезная функция для устранения подобных проблем. Если вы выберете ячейку с вашей формулой, а затем щелкните внутри списка параметров одной из функций в вашей формуле, вы увидите раскрывающийся список, показывающий, какими должны быть параметры:

Затем, щелкнув один из параметров в раскрывающемся списке, вы увидите, что Excel считает, что этот параметр входит в вашу формулу. Именно это может помочь вам найти пропущенные запятые и скобки, но наиболее полезная функция - это когда вы нажимаете клавишу F9 - это позволяет Excel оценить выделенную часть вашей формулы:

На приведенном выше снимке экрана показано, что (B2:D2=B2)*(B2:D2=D2) вычисляется в массив {0,0,0} , поэтому MATCH() не может найти там 1.

Если вы выделите две части продукта по отдельности, вы обнаружите, что (B2:D2=B2) оценивается как {True,True,False} а (B2:D2=D2) оценивается как {False,False,True} . Арифметические операции над массивами преобразуют True и False в 1 и 0 и выполняют эквивалент логического AND() . Вот почему выражение вычисляется в массив из 0 - Нет True*True , который дал бы 1.

Примечание. Если вы используете функцию F9, обязательно наберите UNDO (CTRL -Z) после этого. В противном случае, если вы введете « Return» или «tab» из формулы, Excel сохранит измененную формулу в этой ячейке. Я думаю, что они всегда любят раздавать плохое с хорошим.

Я надеюсь, что это поможет вам, и удачи.

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