Заполнить ячейку таблицы 1 из автоматически заполненной ячейки таблицы 2 с условиями

Заполнить ячейку таблицы 1 из автоматически заполненной ячейки таблицы 2 с условиями

В Excel 2010 TAB1 и TAB2 находятся на одном листе.

Я хочу заполнить столбец D таблицы TAB1 автоматически заполненного столбца E таблицы TAB2 на основе значений столбца C таблицы TAB2.

TAB1 выглядит так:

COLUMN C   COLUMN D  COLUMN E
1            
2
3
4
5
6
7
8

TAB2 выглядит так

COLUMN C   COLUMN E (AUTOFILLED FROM COLUMNS F & G)
1           1205 Grandview Ave
1           1207 Grandview Ave
1           1209 Grandview Ave 
1           1211 Grandview Ave   
2           1500 W 1st Ave
2           1502 W 1st Ave 
2           1504 W 1st Ave 
3           1240 Oakland Ave

У меня в TAB1 либо 144, либо 288 строк, а в TAB2 — меньше.

Как мне это сделать?

решение1

Если я правильно понял вопрос, вы пытаетесь сделать что-то вроде этого:

Стол


Я предполагаю, что вы хотите получить идентичную часть адресов, а не всю строку, например, Grandview Aveа не 1205 Grandview Ave. Учитывая данные в вашем образце, это можно сделать, просто вырезав все до первого пробела в значении ячейки. Если пробелов нет, значение ячейки не будет вырезано.

=IFERROR(RIGHT(G3, LEN(G3) - LEN(LEFT(G3, FIND(" ", G3, 1)))), G3)
  • FIND(" ", G3, 1)находит первое место в ячейкеГ3.
  • LEFT(G3, FIND())получает все, что находится слева от первого пробела.
  • LEN(LEFT())возвращает количество символов до первого пробела.
  • RIGHT(G3, LEN(G3) - LEN())получает все, что находится справа от первого пробела.
  • IFERROR(RIGHT(), G3)возвращает значение ячейки, если пробелы не найдены.

После получения строки, которую мы хотим отобразить, остается только выполнить a, VLOOKUPчтобы найти значение с правильным индексом. Ячейка будет пустой, если совпадений не найдено.

=IFERROR(VLOOKUP(B3,F:J,5,FALSE),"")
  • VLOOKUP(B3,F:J,5,FALSE)находит первое значение в пятом столбце диапазонаФ:Джсо значением ячейкиВ3находится в первом столбце.
  • IFERROR(VLOOKUP(),"")возвращает пустую строку, если совпадений не найдено.

Обе формулы можно копировать.


Бонус АЕсли вам не нужно отображать номер первого совпадения, вы можете просто использовать:

=IFERROR(VLOOKUP(B3,F,G,2,FALSE),"")

Бонус БЕсли вы не хотите создавать опорную колонну, вы можете объединить две формулы, заменив каждое появлениеГ3в первой формуле с формулой, найденной в Бонусе А, что приводит к следующему чудовищу:

=IFERROR(RIGHT(IFERROR(VLOOKUP(B3,F:G,2,FALSE),""), LEN(IFERROR(VLOOKUP(B3,F:G,2,FALSE),"")) - LEN(LEFT(IFERROR(VLOOKUP(B3,F:G,2,FALSE),""), FIND(" ", IFERROR(VLOOKUP(B3,F:G,2,FALSE),""), 1)))), IFERROR(VLOOKUP(B3,F:G,2,FALSE),""))

Также обратите внимание, что некоторые страны используют ;вместо ,в формулах.

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