Сопоставление почтовых индексов на 2 рабочих листах. Поиск соответствующих данных и запись рядом с почтовым индексом

Сопоставление почтовых индексов на 2 рабочих листах. Поиск соответствующих данных и запись рядом с почтовым индексом

Две вкладки в таблице Excel 2013. Одна вкладка называется Homes Data, а другая — Ratings Data. Столбец O на вкладке Homes Data представляет собой список почтовых индексов, а столбец G на вкладке Ratings Data также содержит список почтовых индексов. Столбец L на вкладке Ratings Data содержит список рейтингов.

Я пытаюсь создать сопоставление/поиск/макрос, который определяет совпадающие почтовые индексы на двух вкладках, а затем ищет соответствующую запись в столбце L рейтинговых данных, а затем создает новый столбец AG на вкладке данных о домах для записи данных вместе с совпадающим почтовым индексом.

Вкладка «Данные о домах»

Вкладка «Рейтинговые данные»

решение1

Похоже, вам нужен относительно простой поиск, в таком случае:

Вы можете выполнить поиск несколькими способами:

  • VLOOKUP() — простая в освоении, но ограниченная в использовании функция

  • INDEX(MATCH()) — сложнее в изучении, но более гибко

Зависит от ваших предпочтений относительно того, какой вариант вы используете.

Более простой вариант — ВПР, в этом случае вам нужно поместить эту формулу в столбец AG листа Homes:

=VLOOKUP(

как только вы доберетесь до этого места, Excel поможет (немного!), подсказав, что вам нужно дальше — всплывающий текст скажет:

VLOOKUP(lookup_value , table_array , col_index_num , [range_lookup])

lookup_value — ваш почтовый индекс на листе Homes

table_array — это то, где вы ищете, то есть столбцы G–L вашего листа рейтингов — ограничение VLOOKUP заключается в том, что столбец, который вы ищете (почтовый индекс на листе рейтингов), должен быть слева от того, о котором вы хотите узнать (рейтинг на листе рейтингов), что, к счастью для вас, уже так. Он также должен быть самым левым столбцом, поэтому мы выбираем столбцы G–L, а не A–L, так что столбец G (почтовый индекс) находится слева от того, что мы ищем.

col_index_num — это номер столбца, который вы хотите вернуть. Так что G = 1, H = 2, I = 3, J = 4, K = 5, L = 6. Так что вам нужно 6, так как вам нужно то, что находится в столбце L.

range_lookup необязателен, но на самом деле важен. FALSE означает, что будет выполнено точное совпадение, тогда как TRUE (что странно является настройкой по умолчанию) означает, что будет выполнено приблизительное совпадение. Если ваш почтовый индекс 1245, вы не хотите, чтобы он нашел 1240 вместо 1245, если 1245 там нет, поэтому вам нужно FALSE здесь.

Итак, если вы введете текст в ячейку AG2, то получите:

=VLOOKUP(O2 , 'Ratings Data'!G:L , 6 , FALSE)

Это вернет рейтинг для почтовых индексов на вкладке Homes. Если почтовый индекс не будет найден, вы получите ошибку NA, с которой можно справиться с помощью IFNA() или IFERROR() вокруг VLOOKUP. Вы также можете использовать знаки $, чтобы при копировании формулы в другое место она все равно каждый раз просматривала столбцы G–L.

например

=IFERROR(VLOOKUP(O2 , 'Ratings Data'!$G:$L , 6 , FALSE),"Not found")

INDEX(MATCH()) работает аналогично, и технари предпочитают его, но большинство нетехнарей, с которыми я работаю, считают, что это слишком сложный шаг для изучения, и предпочитают начать с VLOOKUP, который отлично справляется с этой задачей в 99% случаев для большинства обычных рабочих приложений. Если вы один из технарей, то поищите в Google INDEX MATCH, и, вероятно, там есть несколько достойных объяснений ;-)

Связанный контент