У меня есть этот список на листе 1
A B
1 name id
2 gggg 33
3 uuuu 12
4 ffff 1
и в другом листе2
C D
1 id name
2 1 **I want the names to be populated here automatic (ffff)
3 33 **I want the names to be populated here automatic (gggg)
4 12 **I want the names to be populated here automatic (uuuu)
5 13 will be echoed (No name) because it has no name
есть идеи, спасибо?
РЕДАКТИРОВАТЬ;
=IFERROR(INDEX(Sheet1!$A$2:$A$251;SMALL(IF((Sheet1!$B$2:$B$251=C2);ROW(Sheet1!$A$2:$A$251)-ROW(Sheet1!$A$1));ROW(1:1)));"")
НО это сработало только для строки 1, но не для других строк.
решение1
Вам необходимо использовать индексное соответствие, поскольку вы хотите вернуть что-то слева от искомого значения.
=Index(Sheet1!$A$2:$A$100,Match(C2,Sheet1!$B$2:$B$100,0))
Оберните его в , iferror
чтобы учесть (no name)
.
=IFERROR(indexmatch,"(no name)")
Итак, Лист2!D2 читается как
=IFERROR(Index(Sheet1!$A$2:$A$100,Match(C2,Sheet1!$B$2:$B$100,0)),"(no name)")
решение2
Лучший способ получить этот рабочий идентификатор — поменять порядок столбцов в первом файле и использовать функцию «VLOOKUP».
Я сделал для вас образец файла и загрузил его на этот сайт.
Вы можете скачать файл и работать с ним.
Пожалуйста, нажмите здесьЗатем нажмите Superuser1120245.xls.
Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь задавать их.
Спасибо