1

У меня есть вложенное выражение IF, которое, кажется, работает нормально.

=IF(INDEX(F$3:F$523,MATCH(OFFSET(Z6,0,L6-2),OUID,0))="X", OFFSET(Z6,0,L6-2,), IF(INDEX(F$3:F$523,MATCH(OFFSET(Z6,0,L6-3),OUID,0))="X", OFFSET(Z6,0,L6-3), IF(INDEX(F$3:F$523,MATCH(OFFSET(Z6,0,L6-4),OUID,0))="X", OFFSET(Z6, 0, L6-4), IF(INDEX(F$3:F$523,MATCH(OFFSET(Z6,0,L6-5),OUID,0))="X", OFFSET(Z6,0,L6-5), IF(INDEX(F$3:F$523,MATCH(OFFSET(Z6,0,L6-6),OUID,0))="X", OFFSET(Z6,0,L6-6), "ERROR")))))

Где OUID - это динамический именованный диапазон, определенный как:

=OFFSET('DLH'!$B$3,0,0,COUNTA('DLH'!$B:$B),1)

Это работает как ожидалось и возвращает соответствующую ячейку. Однако, если я попытаюсь заменить элемент формулы F $ 3:F $ 523 на динамический именованный диапазон под названием "Отчет", определенный как:

=OFFSET('DLH'!$F$3,0,0,COUNTA('DLH'!$F:$F),1)

Он начинает возвращать "0" вместо текстовой строки в ячейке. Новая нерабочая формула выглядит так:

=IF(INDEX(Report,MATCH(OFFSET(Z5,0,L5-2),OUID,0))="X", OFFSET(Z5,0,L5-2,), IF(INDEX(Report,MATCH(OFFSET(Z5,0,L5-3),OUID,0))="X", OFFSET(Z5,0,L5-3), IF(INDEX(Report,MATCH(OFFSET(Z5,0,L5-4),OUID,0))="X", OFFSET(Z5, 0, L5-4), IF(INDEX(Report,MATCH(OFFSET(Z5,0,L5-5),OUID,0))="X", OFFSET(Z5,0,L5-5), IF(INDEX(Report,MATCH(OFFSET(Z5,0,L5-6),OUID,0))="X", OFFSET(Z5,0,L5-6), "ERROR")))))

Все динамические именованные диапазоны позволяют изменять количество строк. Формула выше находится в ячейке F5. Я подумал, что это может быть проблемой, поскольку динамический именованный диапазон отчета ссылается на тот же столбец, что и исходная ячейка, но даже если я переместу формулу в другую ячейку, она все равно возвращает 0.

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

Есть идеи?

Спасибо.

1 ответ1

0

Я предполагаю, что может быть разное количество ячеек, заполненных в $ B:$ B, по сравнению с $ F:$ F, создающим OUID и Report различной длины, которые могут испортить вашу функцию соответствия индекса.

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