1

В 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

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

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

1 ответ1

1

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

Таблица


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

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

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

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

Обе формулы являются копируемыми.


Бонус A Если вам не нужно показывать номер первого матча, вы можете просто использовать просто:

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

Бонус B Если вы не хотите создавать столбец поддержки, вы можете объединить две формулы, заменив каждый вид G3 в первой формуле формулой, найденной в Бонусе A, что приведет к следующему чудовищу:

=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),""))

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .