Оглавление
Сайт VLOOKUP является одной из самых мощных, гибких и чрезвычайно полезных функций Microsoft Excel для поиска и извлечения значений - либо точно совпадающих, либо наиболее близких по значению - путем поиска соответствующего значения. Но ограничение для функции VLOOKUP Функция выполняет поиск с учетом регистра. Она не различает заглавные и строчные буквы. В этой статье мы расскажем вам, как сделать так, чтобы VLOOKUP в Excel с учетом регистра.
Скачать шаблон практики
Вы можете скачать бесплатный практический шаблон Excel отсюда и потренироваться самостоятельно.
VLOOKUP Case Sensitive.xlsxVLOOKUP в Excel
VLOOKUP означает ' Вертикальный поиск '. Это функция, которая заставляет Excel искать определенное значение в столбце, чтобы вернуть значение из другого столбца в той же строке.
Общая формула:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Вот,
Аргументы | Определение |
---|---|
поиск_значения | Значение, которое вы пытаетесь сопоставить |
массив_таблиц | Диапазон данных, в котором вы хотите найти значение |
col_index_num | Соответствующий столбец значения поиска_значения |
range_lookup | Это булево значение: TRUE или FALSE. FALSE (или 0) означает точное совпадение, а TRUE (или 1) - приблизительное совпадение. |
4 динамических метода сделать VLOOKUP чувствительным к регистру в Excel
Рассмотрим следующий набор данных студентов. В этом наборе данных есть два студента, которые имеют одинаковые имена, но разные фамилии и получили разные оценки.
Мы хотим выполнить поиск для оценки Джон Шоу. Поэтому давайте применим общую функцию VLOOKUP формулу для получения результата.
=VLOOKUP(G3,B2:D7,3,0)
Но как вы можете видеть на рисунке выше, он выдал нам результат Джона Сины вместо результата Джона Шоу. Это потому, что VLOOKUP ищет искомое значение в массиве и возвращает первое попавшееся значение; при этом не учитывается регистр букв.
Таким образом, чтобы получить чувствительный к регистру VLOOKUP нужно выполнить функцию по-другому. И чтобы добиться этого, мы должны быть немного хитрее, чтобы получить оценку Джона Шоу в этой ячейке. Мы можем сделать это, реализуя различные функции вместе, чтобы выполнить функцию VLOOKUP .
В следующих разделах мы рассмотрим комбинацию функция ИНДЕКС и функция MATCH , комбинация VLOOKUP и функция "ВЫБОР , функция SUMPRODUCT и запустить функция XLOOKUP чтобы сделать чувствительным к регистру VLOOKUP в Excel.
1. Использование функций INDEX, MATCH для разработки VLOOKUP с учетом регистра в Excel
Мы можем получить чувствительный к регистру VLOOKUP объединив ИНДЕКС и МАТЧ функционировать вместе.
Общая формула комбинации ИНДЕКС и МАТЧ функция,
=INDEX(data,MATCH(TRUE,EXACT(value,lookup_column),0),column_number)
Шаги для получения чувствительности к регистру VLOOKUP путем осуществления ИНДЕКС и МАТЧ приведены ниже,
Шаги:
- Щелкните по ячейке, в которую вы хотите поместить значение результата (в нашем случае это была ячейка G4 ).
- И напишите следующую формулу,
=INDEX(D2:D7,MATCH(TRUE,EXACT(G3,B2:B7),0))
Теперь посмотрите на картинку выше, где видно, что там стоит оценка Джона Шоу, а не оценка Джона Сины.
Формула разбивки:
Давайте разберем формулу, чтобы понять, как мы узнали оценку Джон Шоу.
- EXACT(G3,B2:B7) -> The ТОЧНО функция в Excel возвращает TRUE если две строки абсолютно одинаковы, и FALSE если две строки не совпадают. В данном случае мы даем команду ТОЧНО функцию массив в качестве второго аргумента и попросить ее найти, является ли массив Ячейка G3 (где мы храним наше значение поиска, john) находится там или нет. Поскольку мы передали массив в качестве входных данных, мы получим массив TRUE или FALSE в выводе. И вывод хранится в памяти Excel, а не в диапазоне
Выход: {FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}
Это результат сравнения значения G3 в каждой ячейке массива поиска. Поскольку мы получили TRUE это означает, что есть точное совпадение значения поиска. Теперь нам просто нужно узнать позицию (номер строки) этого значения. TRUE значение в массиве.
Сайт МАТЧ функция на помощь!
- MATCH(TRUE,EXACT(G3,B2:B7),0) -> стать MATCH({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE})
Объяснение: Сайт МАТЧ Функция возвращает позицию первого совпавшего значения. В данном примере мы хотели получить точное совпадение, поэтому мы задали третий аргумент как 0 (TRUE).
Выход: 6
- INDEX(D2:D7,MATCH(TRUE,EXACT(G3,B2:B7),0)) -> становится INDEX(D2:D7,6)
Объяснение: Сайт ИНДЕКС функция принимает два аргумента и возвращает конкретное значение в одномерном диапазоне. Поскольку мы уже знаем положение номера строки (6) в котором хранится нужное нам значение, мы будем использовать ИНДЕКС чтобы извлечь значение этой позиции.
Выход: 22
Итак, оценка "Джон Шоу" - 22 балла.
2. Комбинирование функций VLOOKUP и CHOOSE для выполнения VLOOKUP с учетом регистра в Excel
Мы можем реализовать два способа в комбинации VLOOKUP и ВЫБРАТЬ чтобы сделать чувствительный к регистру VLOOKUP в Excel.
2.1 Создание чувствительного к регистру VLOOKUP с помощью вспомогательного столбца
Вставка нового столбца для получения уникального значения поиска для каждого элемента массива поиска является еще одним эффективным способом выполнения работы. Это помогает различать имена с разными регистрами букв. И мы назовем этот новый вставленный столбец столбцом Helper.
Шаги для получения чувствительности к регистру VLOOKUP с колонкой Helper приведены ниже,
Шаги:
- Вставьте вспомогательный столбец слева от столбца, из которого вы хотите получить данные.
- В колонке помощника введите формулу =ROW() Он вставит номер строки в каждую ячейку.
- Щелкните по ячейке, в которую вы хотите поместить значение результата (в нашем случае это была ячейка H4 ).
- И напишите следующую формулу,
=VLOOKUP(MAX(EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7))),$D$2:$E$7,2,0)
Теперь посмотрите на картинку выше, где видно, что там стоит оценка Джона Шоу, а не оценка Джона Сины.
Формула разбивки:
Давайте разберем формулу, чтобы понять, как мы узнали оценку Джон Шоу.
- EXACT(H3,$B$2:$B$7) -> Как и предыдущее обсуждение, ТОЧНО возвращает массив TRUE и FALSE значения, где TRUE представляет собой совпадения с учетом регистра и FALSE представляет несовпадающие значения. Таким образом, в нашем случае он вернет следующий массив,
Выход: {FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}
- EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7) -> становится { FALSE;FALSE;FALSE;FALSE;FALSE;TRUE} * {John,Roman,Seth,Dean,Finn,john}
Объяснение: Он представляет собой умножение между массивом ИСТИНА/ЛОЖЬ и номер строки B2:B7 Всякий раз, когда TRUE извлекается номер строки. В противном случае, это FALSE .
Выход: {0;0;0;0;0;7}
- MAX(EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7))) -> становится MAX( 0;0;0;0;0;7)
Объяснение: Он вернет максимальное значение из массива чисел.
Выход: 7 (который также является номером строки, где есть точное совпадение).
- VLOOKUP(MAX(EXACT(H3,$B$2:$B$7)*(ROW($B$2:$B$7))),$D$2:$E$7,2,0) -> становится VLOOKUP(7,$D$2:$E$7,2,0)
Объяснение: Он может просто извлечь значение поиска из массива (D2:D7) и поскольку мы хотим найти точное совпадение, поэтому задаем аргумент 0 (TRUE).
Выход: 22
Итак, оценка "Джон Шоу" - 22 балла.
Примечание: Вы можете вставить вспомогательный столбец в любое место набора данных. Просто убедитесь, что он вставлен слева от столбца, из которого вы хотите получить данные. Затем вам нужно настроить номер столбца в параметре VLOOKUP функционировать соответствующим образом.
2.2 Создание чувствительного к регистру VLOOKUP с помощью данных виртуального помощника
Идея использования виртуальных вспомогательных данных почти аналогична вставке вспомогательного столбца, но изюминка здесь в том, что вместо того, чтобы поместить фактический столбец в рабочий лист, сама формула работает как столбец.
Шаги для получения чувствительности к регистру VLOOKUP с данными Virtual Helper приведены ниже,
Шаги:
- Щелкните по ячейке, в которую вы хотите поместить значение результата (в нашем случае это была ячейка I4 ).
- И напишите следующую формулу,
=VLOOKUP(MAX(EXACT(I3,$D$2:$D$7)*(ROW($D$2:$D$7))),CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7),2,0
Теперь посмотрите на картинку выше, где видно, что там стоит оценка Джона Шоу, а не Джона Сины.
Следующая часть полной формулы работает здесь как вспомогательные данные ,
=---CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7)---
Формула разбивки:
Давайте разберем формулу, чтобы понять, как данные виртуального помощника помогли в определении оценки Джон Шоу.
- CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7) -> Если вы проиллюстрируете эту формулу, выделив ее и нажав кнопку F9 , это даст вам результат в виде,
Выход: {2,100;3,50;4,30;5,80;6,60;7,22}
Объяснение: Он представляет собой массив, который показывает нам номер строки и связанное с ней значение из данного массива, деленное на запятая (,) . И каждый точка с запятой (;) представляет собой новый номер строки, следующий за ним. Таким образом, создается два столбца, состоящих из номера строки и столбца, в котором находится возвращаемое значение поиска (т.е. номер строки и столбец Score в нашем случае).
- VLOOKUP(MAX(EXACT(I3,$D$2:$D$7)*(ROW($D$2:$D$7))),CHOOSE({1,2},ROW($D$2:$D$7),$F$2:$F$7),2,0 -> становится VLOOKUP(7,{2,100;3,50;4,30;5,80;6,60;7,22},2,0)
Объяснение: Когда вы применяете VLOOKUP функция просто ищет значение поиска в первом столбце из двух столбцов виртуальных данных и возвращает соответствующее значение (т.е. Оценка ). Значение поиска здесь представляет собой комбинацию из MAX и ТОЧНО функцию, которую мы получили в результате вычисления в вышеприведенном обсуждении Helper Column.
Выход: 22
Итак, оценка "Джон Шоу" - 22 балла.
3. Использование функции SUMPRODUCT, чтобы сделать VLOOKUP чувствительным к регистру в Excel
Мы можем получить чувствительный к регистру VLOOKUP путем осуществления SUMPRODUCT функция в Excel.
Общая формула:
=SUMPRODUCT(- -( EXACT(value,lookup_column)),result_column)
Шаги для получения чувствительности к регистру VLOOKUP путем осуществления SUMPRODUCT функции приведены ниже,
Шаги:
- Щелкните по ячейке, в которую вы хотите поместить значение результата (в нашем случае это была ячейка G4 ).
- И напишите следующую формулу,
= СУММАРНЫЙ ПРОДУКТ((EXACT(B2:B7,G3) * (D2:D7))))
Теперь посмотрите на картинку выше, где видно, что там стоит оценка Джона Шоу, а не оценка Джона Сины.
Формула разбивки:
Давайте разберем формулу, чтобы понять, как мы узнали оценку Джон Шоу.
- EXACT(B2:B7,G3) -> Как и предыдущее обсуждение, ТОЧНО возвращает массив TRUE и FALSE значения, где TRUE представляет собой совпадения с учетом регистра и FALSE представляет несовпадающие значения. Таким образом, в нашем случае он вернет следующий массив,
Выход: {FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}
- СУММАРНЫЙ ПРОДУКТ((EXACT(B2:B7,G3) * (D2:D7)))) -> стать SUMPRODUCT({FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE} * {100,50,30,80,60,22})
Объяснение: SUMPRODUCT затем просто перемножает значения в каждом массиве вместе, чтобы получить окончательный массив, {FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;22} . Затем суммировать и вернуть значение.
Выход: 22
Итак, оценка "Джон Шоу" - 22 балла.
Магия этой формулы заключается в том, что FALSE ценности фактически аннулируют все другие ценности. Единственные ценности, которые выживают, это те, которые были TRUE .
Так что помнить что, если в массиве есть несколько совпадений, то SUMPRODUCT вернет сумму всех совпавших значений. Также, SUMPRODUCT работает только с числовыми значениями, с текстом он не работает. Поэтому, если вы хотите получить уникальное текстовое значение, воспользуйтесь рассмотренными выше методами.
4. Формула XLOOKUP с учетом регистра для выполнения VLOOKUP с учетом регистра в Excel
Мы можем получить чувствительный к регистру VLOOKUP путем выполнения XLOOKUP функция в Excel.
Общая формула:
=XLOOKUP(TRUE,EXACT(lookup_value, lookup_array), return_array, "Not Found")
Шаги для получения чувствительности к регистру VLOOKUP путем осуществления XLOOKUP Формулы приведены ниже,
Шаги:
- Щелкните по ячейке, в которую вы хотите поместить значение результата (в нашем случае это была ячейка G4 ).
- И напишите следующую формулу,
=XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "Не найдено")
Теперь посмотрите на картинку выше, где видно, что там стоит оценка Джона Шоу, а не оценка Джона Сины.
Формула разбивки:
Давайте разберем формулу, чтобы понять, как мы узнали оценку Джон Шоу.
- EXACT(G3, B2:B7) -> Как и предыдущее обсуждение, ТОЧНО возвращает массив TRUE и FALSE значения, где TRUE представляет собой совпадения с учетом регистра и FALSE представляет несовпадающие значения. Таким образом, в нашем случае он вернет следующий массив,
Выход: {FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}
- XLOOKUP(TRUE, EXACT(G3, B2:B7), D2:D7, "Не найдено") -> становится XLOOKUP( {FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE}, {100,50,30,80,60,22}, "Не найдено")
Объяснение: Затем XLOOKUP выполняет поиск в заданном массиве (в нашем случае массив был B2:B7 ) для TRUE значение и возвращает совпадение из возвращаемого массива ( D2:D7 ).
Выход: 22
Итак, оценка "Джон Шоу" - 22 балла.
Помните, что Если в колонке поиска есть несколько одинаковых значений (включая регистр букв), формула вернет первое найденное совпадение.
Примечание: Это XLOOKUP формула будет работать только в Excel 365 .
Ключевые моменты, которые вы должны иметь в виду
- Так как диапазон массива таблицы данных для поиска значения фиксирован, не забудьте поставить доллар ($) знак перед номером ссылки ячейки таблицы массива.
- При работе со значениями массива не забудьте нажать кнопку Ctrl + Shift + Enter на клавиатуре во время извлечения результатов. При нажатии только Войти не работает при работе со значениями массива.
- После нажатия Ctrl + Shift + Enter Вы заметите, что панель формул заключила формулу в фигурные скобки {} объявляя его как формулу массива. Не вводите эти формулы. скобки {} самостоятельно, Excel автоматически делает это за вас.
Заключение
В этой статье подробно объясняется, как сделать VLOOKUP чувствительность к регистру в Excel путем применения комбинации функций. Надеюсь, эта статья была очень полезна для вас. Не стесняйтесь спрашивать, если у вас есть вопросы по теме.