← Все курсы · Курс Excel · Все руководства
INDEX MATCH против VLOOKUP: поиск, который выдерживает новый столбец
К концу этой страницы вы сможете переносить значение из одной таблицы в каждую строку другой, сопоставляя общий ключ, таким образом, чтобы это продолжало работать, когда кто-то вставляет столбец, продолжало работать, когда ответ находится слева от ключа, и громко сообщало вам, когда совпадений нет, вместо того, чтобы тихо возвращать неправильную строку. Это около двадцати пяти минут, и каждый результат, приведенный ниже, был получен путем выполнения формулы в Эксель.
Вот что нужно сделать сегодня, в вашем собственном файле. Найдите свой самый важный ВПР и посмотрите на его третий аргумент — число. Замените это число на MATCH("HeadingName", $A$1:$Z$1, 0), поэтому формула находит собственный столбец по имени. Это одно изменение устраняет весь класс ошибок, когда кто-то вставляет столбец, и каждый поиск в книге начинает возвращать соседнее поле.
Краткая версия: MATCH превращает имя в номер позиции и INDEX превращает номер позиции в значение. Это два отдельных задания, поэтому вы можете указать их в разных столбцах.
В этой передаче имени в число в значение и заключается вся идея, поэтому она и представляет картину.
- MATCH само по себе: имя на входе, число на выходе
- ИНДЕКС сам по себе: входное число, выходное значение
- Соедините их вместе и произнесите предложение во время набора текста.
- Ответ, который сидит слева
- Жестко закодированный номер, который устаревает
- Четвертый аргумент, который возвращает неправильный ответ без ошибок.
- Двусторонний поиск: строка и столбец одновременно
- В чем суетится МАТЧ и что он прощает
- XLOOKUP, и когда INDEX MATCH все еще занимает свое место
- Полное до и после
- Крайние случаи, которые незаметно нарушают поиск
- Почему это работает
- Использование этого в вашем собственном проекте
- Все на одном экране
Вот две таблицы. Во-первых, это список заказов. Второй — это ссылка на продукт. Обратите внимание на ее форму: ключевой столбец «Продукт» не является первым столбцом. Категория находится слева от нее. Это не уловка; справочные таблицы в реальных рабочих тетрадях составляются тем, кто их создал, а не тем, кто должен в них что-то искать.
Товары
| категория | Продукт | Список цен | Затраты |
|---|---|---|---|
| Мебель | Рабочий стол | 220 | 140 |
| Мебель | Стул | 85 | 52 |
| Освещение | Лампа | 40 | 22 |
Заказы, шестнадцать рядов. Доход Units × UnitPrice.
| ID заказа | Дата заказа | Представитель | Регион | Продукт | Единицы | Цена за единицу товара | Выручка |
|---|---|---|---|---|---|---|---|
| 1001 | 2026-01-05 | Дана Рейес | Север | Рабочий стол | 4 | 220 | 880 |
| 1002 | 2026-01-12 | Оуэн Парк | Юг | Стул | 10 | 85 | 850 |
| 1003 | 2026-01-19 | Прия Шах | Восток | Рабочий стол | 3 | 220 | 660 |
| 1004 | 2026-01-26 | Дана Рейес | Север | Лампа | 6 | 40 | 240 |
| 1005 | 2026-02-02 | Оуэн Парк | Юг | Рабочий стол | 3 | 220 | 660 |
| 1006 | 2026-02-09 | Прия Шах | Восток | Стул | 8 | 85 | 680 |
| 1007 | 2026-02-16 | Дана Рейес | Север | Стул | 5 | 85 | 425 |
| 1008 | 2026-02-23 | Сэм Окафор | Запад | Лампа | 12 | 40 | 480 |
| 1009 | 2026-03-02 | Оуэн Парк | Юг | Лампа | 7 | 40 | 280 |
| 1010 | 2026-03-09 | Прия Шах | Восток | Рабочий стол | 5 | 220 | 1100 |
| 1011 | 2026-03-16 | Дана Рейес | Север | Рабочий стол | 2 | 220 | 440 |
| 1012 | 2026-03-23 | Сэм Окафор | Запад | Стул | 9 | 85 | 765 |
| 1013 | 2026-05-04 | Прия Шах | Восток | Лампа | 15 | 40 | 600 |
| 1014 | 2026-05-11 | Дана Рейес | Север | Стул | 6 | 85 | 510 |
| 1015 | 2026-05-18 | Оуэн Парк | Юг | Рабочий стол | 4 | 220 | 880 |
| 1016 | 2026-05-25 | Сэм Окафор | Запад | Рабочий стол | 2 | 220 | 440 |
Обеим таблицам присвоены имена с помощью Ctrl+Т, поэтому в формулах можно указать Products[Product] вместо $B$2:$B$4. Если эти квадратные скобки вам незнакомы, называние ваших данных покрывает их; здесь все работает и с обычными диапазонами ячеек.
1. СООТВЕТСТВИЕ само по себе: имя входное, число выходное.
Перед пояснением: ПОИСКПОЗ будет искать «Лампу» в списке из трех строк, где Лампа стоит последней. Скажите, что вы думаете, и он вернет обратно.
=MATCH("Lamp", Products[Product], 0)
3
Не «Лампа», не «Освещение», не 40. Просто 3. Вся работа МАТЧ состоит в том, чтобы сообщать где что-то есть, если считать от верхнего предела диапазона, который вы ему дали. Лампа — третья запись, поэтому ответ — 3.
Два из трёх аргументов очевидны: что найти и где искать. Третий – важный. 0 Означает точное совпадение, и это единственная настройка, которую вам следует вводить, пока у вас не появится конкретная причина не делать этого. Шестой раздел посвящен тому, что с вами делают другие настройки.
Само по себе число выглядит бесполезным, и это впечатление является причиной того, что люди пропускают ПОИСКПОЗ и обращаются к поиску, который делает все за один раз. Держись за номер. Это то, что делает отдых гибким.
2. ИНДЕКС сам по себе: входное число, выходное значение.
Перед объяснением: учитывая приведенную выше таблицу «Продукты», скажите, что INDEX(Products[Category], 3) возвращается до того, как вы прочтете вывод.
=INDEX(Products[Category], 3)
Lighting
INDEX принимает диапазон и позицию и возвращает то, что находится в этой позиции. Он вообще не ищет. Дайте ему 3, и он прочитает третью ячейку, независимо от того, является ли третья ячейка той, которую вы хотели.
Таким образом, ИНДЕКС намеренно глуп, а ПОИСКПОЗ намеренно узок, и ни один из них сам по себе бесполезен. Каждый знает ровно одно: ПОИСКПОЗ знает где, ИНДЕКС знает, что там.
3. Соединяем их вместе и произносим предложение при наборе текста
Введите число ПОИСКПОЗ прямо во второй аргумент ИНДЕКС.
=INDEX(Products[Category], MATCH("Lamp", Products[Product], 0))
Lighting
Прочтите его вслух в том порядке, в котором он выполняется, изнутри наружу, и он перестанет выглядеть как гнездо скобок: «Найдите лампу именно в столбце «Продукт» и дайте мне то, что находится в той же позиции в столбце «Категория». В этом предложении есть два имени столбца, как и в формуле. Каждое ИНДЕКСНОЕ СООТВЕТСТВИЕ, которое вы когда-либо писали, имеет одну и ту же форму.
Порядок на странице обратный порядку, который она выполняет, и это действительно неловко. Так что напечатайте его наизнанку. Сначала напишите MATCH отдельно и убедитесь, что он возвращает разумное число. Затем оберните INDEX( вокруг него. Отладка поиска, построенного в два этапа, занимает секунды, потому что вы всегда можете удалить ИНДЕКС и посмотреть, какую позицию, по мнению MATCH, он нашел.
Эта же пара работает с реальным столбцом таблицы заказов. Заказ 1001 — это стол, поэтому выбираем его категорию:
=INDEX(Products[Category], MATCH([@Product], Products[Product], 0))
Furniture
4. Ответ, который сидит слева
Перед объяснением: попробуйте написать VLOOKUP, который начинается с Продукт и возвращает категорию, используя таблицу Товары точно так, как она напечатана выше. Дайте этому тридцать секунд.
Нет возможности написать это. ВПР берет блок столбцов, ищет первый столбец этого блока и отсчитывается справа от ответа. Категория находится слева от «Продукт», поэтому она находится за пределами каждого блока, начинающегося с «Продукт». Запрос номера столбца 0 или -1 не меняет направление; оба просто терпят неудачу, и в моем случае оба вернулись #N/A.
=VLOOKUP("Lamp", Products, -1, FALSE)
#N/A
INDEX MATCH не имеет направления, поскольку поиск и выборка происходят с разными аргументами. MATCH получает указание на продукт и INDEX указывается на Категория, и для любого из них не имеет значения, находится ли Категория слева, справа или на другом листе.
Обычный обходной путь — изменить порядок справочной таблицы так, чтобы ключ был первым. Иногда это нормально. Часто таблица принадлежит кому-то другому, обновляется из системы или используется тремя другими книгами, которые ожидают текущего макета, и незаметное перемещение ее столбцов - это то, как вы нарушаете чужой понедельник.
5. Жестко запрограммированный номер, который устаревает
Это ошибка, которая на самом деле стоит денег, поэтому здесь это скорее бегство, чем предупреждение. Три формулы, задающие один и тот же вопрос: сколько нам стоит Лампа:
=VLOOKUP("Lamp", Products[[Product]:[Cost]], 3, FALSE) 22
=INDEX(Products[Cost], MATCH("Lamp", Products[Product], 0)) 22
=XLOOKUP("Lamp", Products[Product], Products[Cost]) 22
Все трое согласны. Теперь кто-то добавляет столбец «Поставщик» в справочную таблицу между Список цен и Расходы. Больше ничего не меняется. Те же три формулы, нетронутые:
=VLOOKUP("Lamp", Products[[Product]:[Cost]], 3, FALSE) Northlight
=INDEX(Products[Cost], MATCH("Lamp", Products[Product], 0)) 22
=XLOOKUP("Lamp", Products[Product], Products[Cost]) 22
ВПР теперь возвращает имя поставщика там, где раньше была стоимость. Он не сделал ничего плохого: ему было приказано посчитать три столбца поперек, он посчитал три столбца поперек, а третий столбец теперь — «Поставщик». Число 3 было фактом макета в тот день, когда оно было напечатано, замороженным в формуле.
Произнесите вслух, как будет выглядеть повреждение, если бы вставленный столбец был числовым, а не текстовым. Текст хотя бы выделяется; Northlight в столбце стоимости видно. Второй столбец цен в том же слоте дал бы неправильное число, которое форматировалось, суммировалось и отображалось точно так же, как правильное, и книга выглядела бы совершенно здоровой.
INDEX MATCH сохраняется, потому что ничто в нем не относится к позиции, которую выбрал человек. Products[Cost] означает столбец «Стоимость» там, где сейчас находится столбец «Стоимость». Если вы предпочитаете использовать VLOOKUP, вы можете добиться большей эффективности, заменив число на ПОИСКПОЗ в строке заголовка: MATCH("Cost", Products[#Headers], 0), что является самым ценным изменением во всем этом руководстве.
6. Четвертый аргумент, который возвращает неправильный ответ без ошибок
Перед пояснением: в нашей таблице «Продукты» стол, стул и лампа перечислены в том порядке, который не является алфавитным. Вот VLOOKUP для цены стола с последним аргументом, установленным в TRUE. Правильный ответ — 220. Предскажите, что он вернет.
=VLOOKUP("Desk", Products[[Product]:[Cost]], 2, TRUE)
85
85 - цена стула. Ни ошибок, ни предупреждений, ни цвета. Именно это делает последний аргумент, когда он имеет значение ИСТИНА, и то же самое происходит, когда вы его полностью опускаете.
ИСТИНА означает приблизительное совпадение, а приблизительное совпадение предполагает одно предположение: столбец поиска отсортирован по возрастанию. При этом предположении он может остановиться раньше и принять последнее переданное значение, которое не было слишком большим, что действительно полезно для группирования, когда вы хотите «в любую скобку, в которую попадает это число». Наведите его на неотсортированный список, и предположение окажется ложным, поэтому он остановится не в том месте и с полной уверенностью сообщит обо всем, что там было.
Урок не в том, что ИСТИНА – это плохо. Дело в том, что поиск выполняет две разные задачи, и им нужны разные настройки. Поиск определенного известного ключа — это работа с точным совпадением, и для этого требуется FALSE в ВПР или 0 в МАТЧ, набираемый каждый раз. Определение того, в какой диапазон попадает число, — это задача приблизительного сопоставления, и для нее требуется отсортированная таблица, которую вы специально создали.
ПОИСКПОЗ имеет ту же трехстороннюю настройку и ту же ловушку: его третий аргумент по умолчанию равен 1, что является приблизительным. Ввод 0 это не обязательная вежливость. В этом разница между ответом и предположением.
7. Двусторонний поиск: сразу по строке и столбцу
Второй аргумент INDEX — это позиция строки. Он также принимает третий аргумент — позицию столбца, и оба они могут быть ПОИСКПОЗ. Это превращает любую сетку в нечто, что можно запросить по двум меткам.
=INDEX(Products[[ListPrice]:[Cost]],
MATCH("Chair", Products[Product], 0),
MATCH("Cost", Products[[#Headers],[ListPrice]:[Cost]], 0))
52
Прочитайте так же: найдите строку «Стул», найдите столбец «Стоимость», передайте мне ячейку, где они пересекаются. Измените любое слово, и формула получится. Поместите эти два слова в ячейки и позвольте кому-нибудь их ввести, и вы создадите небольшой инструмент поиска без макросов и не требующий обслуживания.
Это случай, который по-прежнему относится к INDEX MATCH, потому что двусторонний поиск - это не то, что VLOOKUP вообще может выразить, и XLOOKUP должен быть вложен внутри себя, чтобы управлять им. Один ИНДЕКС с двумя СОВПАДЕНИЯМИ читать легче, чем любую из альтернатив.
Представьте на секунду свои собственные справочные таблицы: прейскурант, матрицу доставки, таблицу налогов, таблицу границ оценок. В каком из них вы сейчас просматриваете информацию, прокручивая и указывая на экран? Это тот, который конвертируется первым.
8. К чему МАТЧ привередлива, и что она прощает
Два факта, оба заслуживающие точного знания, оба скорее проверены, чем предполагаемы.
Случай не имеет значения. Поиск "lamp" в списке, содержащем Lamp возвращает 3, то же самое, что и поиск "Lamp". При сравнении текста в Excel здесь игнорируются заглавные буквы, поэтому ключ, поступающий в другом регистре, все равно находит свою строку.
Пространство имеет огромное значение. Поиск "Lamp ", с одним пробелом в конце, возвращает #N/A.
=MATCH("lamp", Products[Product], 0) 3
=MATCH("Lamp ", Products[Product], 0) #N/A
Эта пара объясняет большинство неудачных загадочных поисков. Значение на экране выглядит идентично значению в справочной таблице, поскольку завершающий пробел невидим, а формула совершенно правильна, поскольку это разные строки. Прежде чем переписывать поиск, который «должен работать», заключите ключ в TRIM() и посмотрите, исчезнет ли проблема.
Третье несоответствие столь же распространено, и его еще труднее обнаружить: ключ, представляющий собой число в одной таблице и текст в другой. 1001 и "1001" никогда не совпадать. Суть в том, что неработающие ключи всегда имеют числовой вид, и решение состоит в том, чтобы заставить одну сторону согласиться с другой, а не продолжать корректировать формулу. Когда ключи различаются более беспорядочно, чем пробелы и заглавные буквы, это более сложная работа с именем: Разрешение объекта.
9. XLOOKUP, и когда INDEX MATCH все еще занимает свое место
XLOOKUP выполняет эту работу с помощью одной функции, по умолчанию использует точное совпадение и принимает столбец поиска и столбец возврата как два отдельных аргумента, что является тем же разделением, которое делает ИНДЕКС ПОИСКПОЗ надежным.
=XLOOKUP("Lamp", Products[Product], Products[Category])
Lighting
Если XLOOKUP доступен вам и всем, кто открывает ваш файл, используйте его для обычного однонаправленного поиска. Он короче, и его настройки по умолчанию являются безопасными.
Три ситуации по-прежнему относятся к INDEX MATCH. Книга, которую нужно открыть в более старой версии Excel или в другой программе для работы с электронными таблицами, где XLOOKUP отсутствует, а формула появляется в виде #NAME?. Двусторонний поиск из седьмого раздела. И чтение чужой модели — это честная причина изучить ее, даже если вы никогда ее не вводите: ИНДЕКС-ПОИСКПОЗ присутствует в миллионах действующих книг, и вам будет предложено изменить одну из них.
Ни один из трех поисков не защитит вас от ключа, которого на самом деле нет. Все они возвращаются #N/A, что является правильным поведением, и его сокрытие является собственной ошибкой. То, что нужно обернуть вокруг него и когда скрытие ошибки является неверным шагом, — это отдельная страница.
Полное до и после
Таблица заказов может рассказать вам, что поступило. Сама по себе она не может сказать вам, что из этого стоило сохранить, потому что в другой таблице это стоило жизней.
До
Total revenue 9,890
Одна цифра, и нет возможности по ней действовать. Шестнадцать заказов, три продукта, и непонятно, кто из них занимается бизнесом.
после
Один столбец поиска в таблице заказов, =INDEX(Products[Cost], MATCH([@Product], Products[Product], 0)), и теперь можно оценить стоимость каждой строки.
Product Units Revenue Cost Gross profit Margin
Desk 23 5,060 3,220 1,840 36.4%
Chair 38 3,230 1,976 1,254 38.8%
Lamp 40 1,600 880 720 45.0%
Total 101 9,890 6,076 3,814 38.6%
Проверьте одну строку вручную: столы продали 23 единицы по цене 140 каждая, поэтому 23 × 140 = 3220 и 5060 − 3220 = 1840. В столбце «Доход» по-прежнему добавляется 9890, поэтому при поиске ничего не пропало.
И теперь вместо списка претензия. Лампы — это самая маленькая линейка продуктов по выручке (1600 из 9890) и самая прибыльная на проданный фунт: 45,0% против 36,4% у настольных. В рейтинге доходов лампы ставятся на последнее место, а в рейтинге рентабельности — на первое место, и единственное, что стоит между этими двумя предложениями, — это один поиск.
Крайние случаи, которые незаметно нарушают поиск
Шесть, каждая из которых стоила кому-то дня.
Ключ появляется дважды в справочной таблице. MATCH, VLOOKUP и XLOOKUP останавливаются на первом совпадении и никогда не упоминают второе. Если ваша справочная таблица может содержать дубликаты, подсчитайте их, прежде чем доверять поиску: COUNTIF в ключевом столбце, и все, что выше 1, — это решение, которое вам придется принять, а не Excel, который должен принять за вас.
Диапазоны имеют разную длину. ИНДЕКС в столбце из 4 строк с помощью ПОИСКПОЗ в столбце из 5 строк успешно вернет неправильную строку или #REF! если позиция выходит за пределы. Наведите оба на целые именованные столбцы, и они не смогут разойтись.
Полузакрытые ссылки. Копирование MATCH(A2, B2:B4, 0) вниз по листу перемещается диапазон поиска до B3:B5, поэтому последние строки ищут диапазон, в котором отсутствуют записи. Заблокируйте его с помощью $B$2:$B$4или используйте именованную таблицу, где диапазон вообще не может перемещаться.
Ан #N/A это спряталось слишком рано. Обертывание поиска чем-то, что превращает ошибки в пробел или ноль, делает лист чистым и делает несовпадающий ключ невидимым. Сначала посчитайте промахи, решите, что они означают, и только потом решайте, что отображать.
Поиск по целому столбцу в большой таблице. MATCH(A2, D:D, 0) сканирует миллион ячеек в строке. В нескольких сотнях рядов этого никто не замечает; на пятидесяти тысячах файл начинает пересчитываться за секунды. Укажите на таблицу, а не на букву столбца.
Справочная таблица, которая выросла. Фиксированный диапазон, например $B$2:$B$4 никогда не видит четвертого товара, поэтому новинки молча возвращаются #N/A навсегда. Это тот же аргумент, что и Ctrl+Т повсюду в этом наборе руководств: именованная таблица увеличивается, а типизированный диапазон — нет.
Почему это работает
Имя того, что делает эта формула, старше, чем Эксель. Две таблицы имеют общий ключ, и вы прикрепляете факт из одной к строкам другой, что является соединением в реляционном смысле: ключ однозначно идентифицирует строку, и атрибуты этой строки затем могут быть перенесены вместе с любой строкой, которая ссылается на нее (Кодд, 1970, Коммуникации ACM, 13(6), 377–387). Если рассматривать это как соединение, то это объясняет ошибки, а не просто их перечисление. Дубликат ключа нарушает обещание уникальной идентификации, поэтому результат зависит от порядка строк, поэтому Excel возвращает первое совпадение, а SQL возвращает две строки. У отсутствующего ключа нет совпадения, поэтому единственный честный ответ — ничего. #N/A означает. А жестко закодированный номер столбца вообще не является частью объединения; Это факт о том, где данные находятся сегодня, и именно поэтому они разрушаются.
Более широкий аргумент в пользу предпочтения версии, которая не может бесшумно дрейфовать, заключается в том, что ошибки в электронных таблицах являются скорее нормальными, чем редкими. Обзоры литературы по аудиту обнаруживают ошибки в подавляющем большинстве проверенных операционных журналов, и ошибки, которые выдерживают проверку, — это те, которые дают правдоподобные цифры, а не видимые нарушения (Пауэлл, Бейкер & Лоусон, 2008, Системы поддержки принятия решений, 46(1), 128–138). Обе ошибки на этой странице именно такого рода: 85 где был ответ 220и имя поставщика, где должна быть указана стоимость. Ни один из них не делает ничего красным. Дешевле выбрать форму формулы, которая не сможет потерпеть неудачу, чем обещать проверять более тщательно.
Существует также причина, по которой эта страница постоянно просит вас спрогнозировать результат, прежде чем показывать его. Объяснение шага самому себе до того, как ему будут даны объяснения, заметно улучшает то, что вы запоминаете из него, в широком диапазоне предметов и возрастов (Чи, Бассок, Льюис, Рейманн и Глейзер, 1989, Когнитивная наука, 13(2), 145–182). 85 — это результат, потому что вы сначала взяли на себя обязательство набрать 220.
Использование этого в вашем собственном проекте
Преобразование каждого поиска в унаследованной книге утомительно, и вы остановитесь на четвертом. Вместо этого сделайте это по порядку.
- Сначала найдите жестко запрограммированные числа. Найдите в своих формулах
VLOOKUPи посмотрим только на третий аргумент. Эти цифры и составляют весь риск. - Замените число на МАТЧ в заголовке.,
MATCH("Cost", Products[#Headers], 0). Это пятисекундное редактирование каждой формулы, которое устраняет ошибку вставленного столбца, ничего не переписывая. - Убедитесь, что каждый поиск заканчивается на
0илиFALSE, явно. Пропущенный последний аргумент — это приблизительное совпадение в маскировке. - Ctrl+Т обе таблицы поэтому диапазоны не могут перемещаться при копировании и не могут устаревать при добавлении строк.
- Специально посчитайте промахи прежде чем скрыть их:
=COUNTIF(range,"#N/A")по результатам или быстрый фильтр. Несовпадающие ключи — это обнаружение ваших данных, а не проблема форматирования. - Используйте INDEX MATCH, когда ответ находится слева или когда вам нужны строка и столбец.и используйте XLOOKUP для всего остального, если Excel ваших читателей поддерживает это.
Если у вас под рукой есть бумага, один дополнительный эскиз стоит пяти минут. Нарисуйте два узких столбца рядом, запишите свои собственные ключевые значения в первый и значения, которые вы хотите вывести во второй, и обведите одну строку в обоих. Затем напишите номер позиции на полях. Все на этой странице представляет собой это число, и если его нарисовать один раз, вложенная формула перестанет выглядеть вложенной.
Все на одном экране
Это лист поиска. Закройте правую колонку, проработайте левую и произнесите каждый ответ вслух, прежде чем проверять его.
| вещь | Что он делает |
|---|---|
MATCH(what, where, 0) | Возвращает позицию значения в списке. Номер, ничего больше. |
| Третий аргумент МАТЧ | 0 точный. 1 самый большой не закончился, нужно подниматься по возрастанию. -1 самый маленький не ниже, нужно спускаться. |
| ПОИСКПОЗ по умолчанию | 1, приблизительно. Всегда вводите 0. |
INDEX(range, n) | Возвращает н-й элемент диапазона. Никакого поиска вообще. |
| Пара | INDEX(answer_col, MATCH(key, key_col, 0)). |
| Как это читать | Наизнанку: найдите ключ, затем прочтите ту же позицию в другом столбце. |
| Как это напечатать | Сначала МАТЧ, сам по себе. Проверьте номер. Затем оберните вокруг него INDEX. |
| Ответ слева | Работает, потому что поиск и выборка — это отдельные аргументы. |
| Вставленный столбец | Никакого эффекта. Ничто не относится к позиции, которую выбрал человек. |
| Третий аргумент ВПР | Замороженное количество столбцов. Заменить на MATCH(heading, headers, 0). |
| Четвертый аргумент ВПР | Значение TRUE или опущено является приблизительным, а для несортированных данных оно возвращает неправильное значение без ошибок. |
| Двусторонний поиск | INDEX(grid, MATCH(row), MATCH(col)). Дело INDEX MATCH все еще находится в ведении. |
| Случай | Игнорируется. lamp находит Lamp. |
| Пространства | Не игнорируется. "Lamp " возвращает #N/A. Сначала попробуйте TRIM. |
| Число против текстового ключа | Никогда не совпадает. Исправляйте данные, а не формулу. |
| Дубликат ключа | Первый удар побеждает, молча. COUNTIF ключевой столбец. |
#N/A | Ключа там нет. Находка, а не проблема форматирования. |
| XLOOKUP | Та же работа в одной функции, точная по умолчанию. Используйте его, когда Excel есть у каждого. |
Еще одна мысль, и мне бы искренне хотелось услышать ответы других людей. Худшим из тех, что я нашел в дикой природе, было использование VLOOKUP, извлекающего столбец 7 из отчета, в котором столбец был получен тремя месяцами ранее, поэтому каждая цифра в ежемесячном пакете отклонялась на одно поле с апреля, и все итоги все еще были сбалансированы. Что это за тихий сбой поиска, который вы обнаружили поздно, и что в конечном итоге выдало его?
Ссылки
- Кодд, EF (1970). Реляционная модель данных для крупных общих банков данных. Коммуникации ACM, 13(6), 377–387.
- Пауэлл С.Г., Бейкер К.Р. и Лоусон Б. (2008). Критический обзор литературы об ошибках в электронных таблицах. Системы поддержки принятия решений, 46(1), 128–138.
- Чи, М.Т.Х., Бассок, М., Льюис, М.В., Рейманн, П. и Глейзер, Р. (1989). Самообъяснения: как учащиеся изучают и используют примеры при обучении решению проблем. Когнитивная наука, 13(2), 145–182.
Excel для аналитиков составляет 378 страниц, INDEX MATCH читается аргумент за аргументом и почему он выдерживает перемещение столбца.
Excel для аналитиков, 19 долларов США →тот Курс Excel дает вам повторения: упражнения по поиску в таблицах, которые намеренно расположены неудобно, карточки с точными и приблизительными решениями и решениями в левой колонке с этой страницы, а также пробный экзамен, который просит вас предсказать результат, прежде чем нажать Входить. Теперь вы владеете методом; комплект - это практика. Ничего устанавливать, учетная запись не требуется.
Откройте набор Excel →