Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Резюме

  • Функция XMATCH была представлена ​​в Microsoft Excel в 2021 году как обновление функции MATCH.
  • Аргументы по умолчанию в синтаксисе XMATCH более интуитивно понятны, чем в синтаксисе MATCH, и отдают предпочтение точному совпадению, а не приблизительному.
  • Помимо возможности указывать использование подстановочных знаков, XMATCH позволяет выполнять поиск как сверху вниз, так и снизу вверх, что делает процесс поиска гораздо более понятным и гибким.

Существует множество способов извлечения значений из данных в Microsoft Excel, и два таких примера — функции MATCH и XMATCH. Однако с тех пор, как Microsoft представила XMATCH в Excel в 2021 году, я полностью отказался от MATCH, и в этом руководстве я объясню, почему вам тоже стоит это сделать.

Поскольку функция XMATCH представляет собой современную модернизацию функции MATCH, она доступна только тем, кто использует Excel для Microsoft 365, Excel для веб-сайта, мобильные и планшетные приложения Excel, а также одноразовые версии Excel, выпущенные в 2021 году или позже.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Получите постоянный доступ к Word, Excel, PowerPoint и OneNote с пакетом Office Home 2024. Это не полная замена подписке Microsoft 365, так как в нем отсутствуют некоторые приложения и не включены обновления функций, но это разовая покупка, поэтому она идеально подходит тем, кому нужны только основные функции.

Посмотреть на Amazon Посмотреть на Microsoft

Функция ПОИСКПОЗ в Excel

Функция ПОИСКПОЗ в Microsoft Excel сообщает вам позицию элемента в диапазоне. Синтаксис:

= ПОИСКПОЗ (a,b,c)

в котором

  • a (обязательно) — значение для поиска,
  • b (обязательно) — диапазон ячеек, содержащих массив поиска, и
  • c (необязательно) — тип соответствия (1 или опущено = наибольшее значение, меньшее или равное аргументу b когда массив расположен в порядке возрастания; 0 = точное совпадение; -1 = наименьшее значение, большее или равное аргументу b когда массив находится в порядке возрастания).

Функция ПОИСКПОЗ ищет значение (a) сверху вниз в массиве (b) — поиск снизу вверх невозможен.

В этом примере введите:

=ПОИСКПОЗ(D1,A1:A4,0)

в ячейку D2 ищет слово «Груши» в ячейках A1–A4 и возвращает его позицию в этом диапазоне.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

MATCH часто используется вместе с INDEX для поиска значения в массиве, где MATCH определяет номер строки, а INDEX возвращает значение.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Во втором примере введите:

=ИНДЕКС($A$2:$A$24,ПОИСКПОЗ($D2,$B$2:$B$24,0))

в ячейку E2 возвращает дату из ячеек A2 — A24 (ИНДЕКС), где номер строки определяется первым точным совпадением (на что указывает «0» в аргументе c) между значением в ячейке D2 и идентификаторами продуктов в ячейках B2–B24 (ПОИСКПОЗ).

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Символ доллара ($), помещенный перед буквой в ссылке на ячейку, блокирует столбец (известный как смешанная ссылка), так что формула по-прежнему работает правильно при копировании по строке. Ссылки с символами доллара, помещенными перед столбцом и строки являются абсолютными ссылками, то есть они остаются фиксированными независимо от того, копируется ли формула вниз по столбцу или по всей строке.

Функция XMATCH в Excel

Функция XMATCH в Microsoft Excel также сообщает вам положение элемента в диапазоне, но значения по умолчанию для пропущенных аргументов отличаются, вы можете выполнять поиск снизу вверх, и вы можете включать подстановочные знаки. Синтаксис:

=XПОИСКПОЗ(a,b,c,d)

в котором

  • a (обязательно) — значение для поиска,
  • b (обязательно) — диапазон ячеек, содержащих массив поиска, и
  • c (необязательно) — режим соответствия (0 или пропущено = точное совпадение; -1 = точное совпадение или следующий наименьший элемент; 1 = точное совпадение или следующий наибольший элемент; 2 = совпадение с подстановочным знаком), и
  • d (необязательно) — режим поиска (1 или пропущено = сверху вниз; -1 = снизу вверх; 2 = двоичный поиск, где массив расположен в порядке возрастания; -2 = двоичный поиск, где массив расположен в порядке убывания).

Даже если аргумент c называется «типом соответствия» в MATCH и «режимом соответствия» в XMATCH, они по сути выполняют одну и ту же задачу, но с разными значениями по умолчанию и немного разными аргументами.

В этом примере введите:

=ИНДЕКС($A$2:$A$24,XMATCH($D2,$B$2:$B$24))

в ячейку E2 возвращает тот же результат, что и в примере выше, где я использовал ИНДЕКС и ПОИСКПОЗ, хотя мне не нужно было указывать режим соответствия, поскольку по умолчанию используется точное соответствие. В результате XMATCH требует ввода меньшего количества аргументов, чем MATCH в простых случаях поиска сверху вниз.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Однако, где XMATCH действительно превосходит своего предшественника, так это когда вы хотите найти последний сопоставить в массиве, ища снизу вверх. Вот почему XMATCH имеет еще один необязательный аргумент (a в d) чем СОВПАДЕНИЕ (a в c).

Вот, набрав:

=ИНДЕКС($A$2:$A$24,XПОИСКПОЗ($D2,$B$2:$B$24,,-1))

в ячейку F2 возвращает последний дата из ячеек A2 по A24, потому что аргумент d содержит «-1», что означает, что номер строки определяется последний точное совпадение между значением в ячейке D2 и идентификаторами продуктов в ячейках B2–B24. Аргумент режима соответствия (c) опущено, поскольку по умолчанию используется точное совпадение, а именно его мы и хотим вернуть.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Еще одним преимуществом использования XMATCH перед MATCH является то, что первый вариант позволяет сообщить Excel, что при поиске используются подстановочные знаки.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Здесь ИНДЕКС и XMATCH используются для поиска первой и последней даты продажи товара из садового отдела.

Не используйте функцию ПОИСКПОЗ в Microsoft Excel: вместо нее используйте XПОИСКПОЗ

Обратите внимание, что в ячейке D2 подстановочный символ звездочки (*) используется для поиска кода продукта, который начинается с букв «GD» и содержит любое количество символов после них.

Затем в ячейке E2 я набрал:

=ИНДЕКС($A$2:$A$24,XMATCH($D2,$B$2:$B$24,2))

где «2» в аргументе режима сопоставления (c) сообщает Excel, что я использовал подстановочный знак в искомом значении (a) и аргумент режима поиска (d) был пропущен, так как я хотел выполнить поиск сверху вниз, чтобы найти первое совпадение.

Если вы не укажете в аргументе режима сопоставления (c) используется подстановочный знак, XMATCH предполагает, что вы ищете значения, содержащие * и ? сами по себе, а не рассматривает эти символы как подстановочные знаки.

В ячейке F2 я набрал:

=ИНДЕКС($A$2:$A$24,XMATCH($D2,$B$2:$B$24,2,-1))

где, а также добавление подстановочного знака для аргумента режима соответствия (c), я также ввел «-1» для режима поиска (d), чтобы указать Excel выполнять поиск снизу вверх.

Чтобы достичь того же результата с помощью функции MATCH, тип соответствия должен быть указан как точное совпадение («0»). Однако, поскольку это режим соответствия по умолчанию для функции XMATCH, и поскольку существует специальный режим поиска для подстановочных знаков, это гораздо более интуитивный и чистый процесс.

Другой способ поиска значений в таблице — использование функции XLOOKUP, усовершенствованной версии функций VLOOKUP и HLOOKUP. Как и в случае с XMATCH, XLOOKUP по умолчанию использует точное совпадение и позволяет выполнять поиск сверху вниз и снизу вверх. Более того, XLOOKUP также позволяет включать аргумент «если не найдено», который предохраняет результат от отображения «N/A», если искомое значение не может быть найдено в массиве.

Валентин Павлов/ автор статьи
Страсть Влентина к играм началась с Resident Evil, и с тех пор он не переставал играть в хоррор-игры. Пишет экспертные руководства для самых сложных игр и обзоры для самых громких релизов. Является магистром журналистики и имеет степень бакалавра лингвистики. Любимые игры: GTA 5, Silent Hill 2, Call of Duty: Modern Warfare 2, Heavy Rain, Metro 2033 и другие.
Понравилась статья? Поделиться с друзьями:
Добавить комментарий