1

Вот моя оригинальная формула

=IF(ISNA(VLOOKUP($A3,INDIRECT("'"&G$2&"'!$B$3:$I$516"),6,FALSE)),"✖",
    IF(VLOOKUP($A3,INDIRECT("'"&G$2&"'!$B$3:$I$516"),6,FALSE)=$D3,
    IF(INDEX(INDIRECT("'"&G$2&"'!$A$3:$A$516"),
    MATCH($A3,INDIRECT("'"&G$2&"'!$B$3:$B$516"),0))>0,
    INDEX(INDIRECT("'"&G$2&"'!$A$3:$A$516"),
    MATCH($A3,INDIRECT("'"&G$2&"'!$B$3:$B$516"),0)),"✔"),"✓"))

Который будет помещать X, если значение не найдено, первый тип галочки, если критерии соответствуют, и другой тип, если он найден, но критерии не совпадают.

Сегодня я узнал, что ISERROR сокращает структуру ISNA, которую я построил, удаляя избыточный поиск. Как я могу использовать это (или что-то еще), чтобы сократить эту формулу?

1 ответ1

3

Если вы используете Excel 2007 или более поздней версии, используйте

=IFERROR(IF(VLOOKUP($A3,INDIRECT("'"&G$2&"'!$B$3:$I$516")
                             ,6,FALSE)=D3,"✔","✓"), "✖")

Если вы используете Excel 2003 или более раннюю версию

=IF(ISNA(MATCH($A3,INDIRECT("'"&G$2&"'!$B$3:$b$516"),FALSE)),"✖",
  IF(VLOOKUP($A3,INDIRECT("'"&G$2&"'!$B$3:$I$516"),6,FALSE)=D3,"✔","✓"))

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