Найти отсутствующие значения
В некоторых случаях вам может потребоваться сравнить два списка, чтобы проверить, существует ли значение из списка A в списке B в Excel. Например, у вас есть список продуктов, и вы хотите проверить, существуют ли продукты из вашего списка в списке продуктов, предоставленном вашим поставщиком. Для выполнения этой задачи мы перечислили три способа ниже, выберите тот, который вам больше нравится.
Найти отсутствующие значения с помощью MATCH, ISNA и IF
Найти отсутствующие значения с помощью VLOOKUP, ISNA и IF
Найти отсутствующие значения с помощью COUNTIF и IF
Найти отсутствующие значения с помощью MATCH, ISNA и IF
Чтобы узнать, существуют ли все продукты из вашего списка в списке вашего поставщика, как показано на скриншоте выше, вы можете сначала использовать функцию MATCH для получения позиции продукта из вашего списка (значение списка A) в списке поставщика (список B). MATCH вернет ошибку #N/A, если продукт не будет найден. Затем вы можете передать результат в ISNA, чтобы преобразовать ошибки #N/A в TRUE, что означает, что эти продукты отсутствуют. Функция IF затем вернет ожидаемый результат.
Общий синтаксис
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ("искомое_значение",диапазон_поиска,0)),"Отсутствует","Найдено")
√ Примечание: Вы можете изменить "Отсутствует", "Найдено" на любые значения по вашему усмотрению.
- искомое_значение: Значение, которое ПОИСКПОЗ использует для получения его позиции, если оно существует в диапазоне_поиска, или ошибка #N/A, если нет. Здесь это относится к продуктам в вашем списке.
- диапазон_поиска: Диапазон ячеек для сравнения с искомым_значением. Здесь это относится к списку продуктов поставщика.
Чтобы узнать, существуют ли все продукты из вашего списка в списке вашего поставщика, пожалуйста, скопируйте или введите формулу ниже в ячейку H6 и нажмите Enter, чтобы получить результат:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(30002,$B$6:$B$10,0)),"Отсутствует","Найдено")
Или используйте ссылку на ячейку, чтобы сделать формулу динамической:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(G6,$B$6:$B$10,0)),"Отсутствует","Найдено")
√ Примечание: Знаки доллара ($) выше указывают на абсолютные ссылки, что означает, что диапазон_поиска в формуле не изменится, когда вы переместите или скопируете формулу в другие ячейки. Однако знаки доллара не добавлены к искомому_значению, поскольку вы хотите, чтобы оно было динамическим. После ввода формулы перетащите маркер заполнения вниз, чтобы применить формулу к нижним ячейкам.
Объяснение формулы
Здесь мы используем следующую формулу в качестве примера:
=ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(G8,$B$6:$B$10,0)),"Отсутствует","Найдено")
- ПОИСКПОЗ(G8,$B$6:$B$10,0): Тип_совпадения 0 заставляет функцию ПОИСКПОЗ вернуть числовое значение, указывающее позицию первого совпадения 3004, значения в ячейке G8, в массиве $B$6:$B$10. Однако в данном случае ПОИСКПОЗ не смог найти значение в массиве поиска, поэтому он вернет ошибку #N/A.
- ЕОШИБКА(ПОИСКПОЗ(G8,$B$6:$B$10,0)) = ЕОШИБКА(#N/A): ЕОШИБКА работает, чтобы определить, является ли значение ошибкой “#N/A” или нет. Если да, функция вернет ИСТИНА; Если значение — что-то другое, кроме ошибки “#N/A”, она вернет ЛОЖЬ. Таким образом, эта формула ЕОШИБКА вернет ИСТИНА.
- ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(G8,$B$6:$B$10,0)),"Отсутствует","Найдено") = ЕСЛИ(ИСТИНА,"Отсутствует","Найдено"): Функция ЕСЛИ вернет Отсутствует, если сравнение, выполненное ЕОШИБКА и ПОИСКПОЗ, истинно, в противном случае вернет Найдено. Таким образом, формула вернет Отсутствует.
Найти отсутствующие значения с помощью VLOOKUP, ISNA и IF
Чтобы узнать, существуют ли все продукты из вашего списка в списке вашего поставщика, вы можете заменить функцию ПОИСКПОЗ на VLOOKUP, поскольку она работает так же, как ПОИСКПОЗ, то есть вернет ошибку #N/A, если значение не существует в другом списке, или, другими словами, если оно отсутствует.
Общий синтаксис
=ЕСЛИ(ЕОШИБКА(ВПР("искомое_значение",диапазон_поиска,1,ЛОЖЬ)),"Отсутствует","Найдено")
√ Примечание: Вы можете изменить "Отсутствует", "Найдено" на любые значения по вашему усмотрению.
- искомое_значение: Значение, которое ВПР использует для получения его позиции, если оно существует в диапазоне_поиска, или ошибка #N/A, если нет. Здесь это относится к продуктам в вашем списке.
- диапазон_поиска: Диапазон ячеек для сравнения с искомым_значением. Здесь это относится к списку продуктов поставщика.
Чтобы узнать, существуют ли все продукты из вашего списка в списке вашего поставщика, пожалуйста, скопируйте или введите формулу ниже в ячейку H6 и нажмите Enter, чтобы получить результат:
=ЕСЛИ(ЕОШИБКА(ВПР(30002,$B$6:$B$10,1,ЛОЖЬ)),"Отсутствует","Найдено")
Или используйте ссылку на ячейку, чтобы сделать формулу динамической:
=ЕСЛИ(ЕОШИБКА(ВПР(G6,$B$6:$B$10,1,ЛОЖЬ)),"Отсутствует","Найдено")
√ Примечание: Знаки доллара ($) выше указывают на абсолютные ссылки, что означает, что диапазон_поиска в формуле не изменится, когда вы переместите или скопируете формулу в другие ячейки. Однако знаки доллара не добавлены к искомому_значению, поскольку вы хотите, чтобы оно было динамическим. После ввода формулы перетащите маркер заполнения вниз, чтобы применить формулу к нижним ячейкам.
Объяснение формулы
Здесь мы используем следующую формулу в качестве примера:
=ЕСЛИ(ЕОШИБКА(ВПР(G8,$B$6:$B$10,1,ЛОЖЬ)),"Отсутствует","Найдено")
- ВПР(G8,$B$6:$B$10,1,ЛОЖЬ): Параметр ложь заставляет функцию ВПР искать и возвращать значение, точно соответствующее 3004, значению в ячейке G8. Если искомое_значение 3004 существует в первом столбце массива $B$6:$B$10, ВПР вернет это значение; В противном случае он вернет значение ошибки #N/A. Здесь 3004 не существует в массиве, поэтому результатом будет #N/A.
- ЕОШИБКА(ВПР(G8,$B$6:$B$10,1,ЛОЖЬ)) = ЕОШИБКА(#N/A): ЕОШИБКА работает, чтобы определить, является ли значение ошибкой “#N/A” или нет. Если да, функция вернет ИСТИНА; Если значение — что-то другое, кроме ошибки “#N/A”, она вернет ЛОЖЬ. Таким образом, эта формула ЕОШИБКА вернет ИСТИНА.
- ЕСЛИ(ЕОШИБКА(ВПР(G8,$B$6:$B$10,1,ЛОЖЬ)),"Отсутствует","Найдено") = ЕСЛИ(ИСТИНА,"Отсутствует","Найдено"): Функция ЕСЛИ вернет Отсутствует, если сравнение, выполненное ЕОШИБКА и ВПР, истинно, в противном случае вернет Найдено. Таким образом, формула вернет Отсутствует.
Найти отсутствующие значения с помощью COUNTIF и IF
Чтобы узнать, существуют ли все продукты из вашего списка в списке вашего поставщика, вы можете использовать более простую формулу с функциями СЧЁТЕСЛИ и ЕСЛИ. Формула использует тот факт, что Excel будет оценивать любое число, кроме нуля (0), как ИСТИНА. Поэтому, если значение существует в другом списке, функция СЧЁТЕСЛИ вернет количество его появлений в этом списке, а ЕСЛИ примет это число как ИСТИНА; Если значение не существует в списке, функция СЧЁТЕСЛИ вернет 0, и ЕСЛИ примет это как ЛОЖЬ.
Общий синтаксис
=ЕСЛИ(СЧЁТЕСЛИ("диапазон_поиска",искомое_значение),"Найдено","Отсутствует")
√ Примечание: Вы можете изменить "Найдено", "Отсутствует" на любые значения по вашему усмотрению.
- диапазон_поиска: Диапазон ячеек для сравнения с искомым_значением. Здесь это относится к списку продуктов поставщика.
- искомое_значение: Значение, которое СЧЁТЕСЛИ использует для возврата количества его появлений в диапазоне_поиска. Здесь это относится к продуктам в вашем списке.
Чтобы узнать, существуют ли все продукты из вашего списка в списке вашего поставщика, пожалуйста, скопируйте или введите формулу ниже в ячейку H6 и нажмите Enter, чтобы получить результат:
=ЕСЛИ(СЧЁТЕСЛИ($B$6:$B$10,30002),"Найдено","Отсутствует")
Или используйте ссылку на ячейку, чтобы сделать формулу динамической:
=ЕСЛИ(СЧЁТЕСЛИ($B$6:$B$10,G6),"Найдено","Отсутствует")
√ Примечание: Знаки доллара ($) выше указывают на абсолютные ссылки, что означает, что диапазон_поиска в формуле не изменится, когда вы переместите или скопируете формулу в другие ячейки. Однако знаки доллара не добавлены к искомому_значению, поскольку вы хотите, чтобы оно было динамическим. После ввода формулы перетащите маркер заполнения вниз, чтобы применить формулу к нижним ячейкам.
Объяснение формулы
Здесь мы используем следующую формулу в качестве примера:
=ЕСЛИ(СЧЁТЕСЛИ($B$6:$B$10,G8),"Найдено","Отсутствует")
- СЧЁТЕСЛИ($B$6:$B$10,G8): Функция СЧЁТЕСЛИ подсчитывает, сколько раз встречается 3004, значение в ячейке G8, в массиве $B$6:$B$10. Очевидно, 3004 не существует в массиве, поэтому результат будет 0.
- ЕСЛИ(СЧЁТЕСЛИ($B$6:$B$10,G8),"Найдено","Отсутствует") = ЕСЛИ(0,"Найдено","Отсутствует"): Функция ЕСЛИ оценит 0 как ЛОЖЬ. Таким образом, формула вернет Отсутствует, значение для возврата, когда первый аргумент оценивается как ЛОЖЬ.
Связанные функции
Функция ЕСЛИ является одной из самых простых и полезных функций в книге Excel. Она выполняет простой логический тест, который зависит от результата сравнения, и возвращает одно значение, если результат ИСТИНА, или другое значение, если результат ЛОЖЬ.
Функция ПОИСКПОЗ в Excel ищет определенное значение в диапазоне ячеек и возвращает относительную позицию этого значения.
Функция ВПР в Excel ищет значение путем сопоставления в первом столбце таблицы и возвращает соответствующее значение из определенного столбца в той же строке.
Функция СЧЁТЕСЛИ является статистической функцией в Excel, которая используется для подсчета количества ячеек, соответствующих определенному условию. Она поддерживает логические операторы (<>, =, >, и <), а также подстановочные знаки (? и *) для частичного сопоставления.
Связанные формулы
Поиск значения, содержащего определенный текст, с использованием подстановочных знаков
Чтобы найти первое совпадение, содержащее определенную текстовую строку в диапазоне в Excel, вы можете использовать формулу ИНДЕКС и ПОИСКПОЗ с подстановочными знаками - звездочкой (*) и вопросительным знаком (?).
Бывают случаи, когда вам нужно, чтобы Excel извлекал данные на основе частичной информации. Чтобы решить эту проблему, вы можете использовать формулу ВПР вместе с подстановочными знаками - звездочкой (*) и вопросительным знаком (?).
Приблизительное совпадение с ИНДЕКС и ПОИСКПОЗ
Бывают случаи, когда нам нужно найти приблизительные совпадения в Excel для оценки производительности сотрудников, выставления оценок студентам, расчета стоимости доставки на основе веса и т.д. В этом руководстве мы поговорим о том, как использовать функции ИНДЕКС и ПОИСКПОЗ для получения необходимых результатов.
Поиск ближайшего совпадающего значения с несколькими критериями
В некоторых случаях вам может потребоваться найти ближайшее или приблизительное совпадающее значение на основе нескольких критериев. С помощью комбинации функций ИНДЕКС, ПОИСКПОЗ и ЕСЛИ вы можете быстро справиться с этим в Excel.
Лучшие инструменты для повышения производительности Office
Kutools для Excel - Помогает вам выделиться из толпы
Kutools для Excel имеет более 300 функций, гарантируя, что нужный вам инструмент находится всего в одном клике...
Office Tab - Включите работу с вкладками в Microsoft Office (включая Excel)
- Один щелчок мыши, чтобы переключаться между десятками открытых документов!
- Сократите сотни кликов мышью ежедневно, попрощайтесь с болью в руке.
- Увеличивает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), как в Chrome, Edge и Firefox.