Поиск значений одного листа в другом листе


1

В принципе, я мог бы сделать это вручную, но поскольку данные огромны, это заняло бы много времени. Я уверен, что должен быть формальный способ сделать это.

У меня есть две таблицы в Excel.

Рабочий лист 1.

Column-A        Column-B
Device Names    Total numbers
Device A           19 
Device B           81
Device C           12 
Device D           21 
etc.               etc.

Рабочий лист 2.

Column-A         Column-B
Device Names   Total numbers
Device D
Device S
Device Z
Device S
etc.

Мне нужна формула, которая будет искать имена устройств в столбце А / лист 2 в столбце А / лист 1. Если имена устройств в листе 2 и листе 1 совпадают, следует перенести данные в столбце В листа 1 в столбец-B на листе-2.

Ответы:


6

Использовать ВПР () функция.

В столбце B на листе 2 для строки 2 («Устройство D») я бы поместил что-то вроде:

=VLOOKUP(A1,Sheet1!A1:B4,2, FALSE)

A1 является ячейкой в ​​Рабочем листе 2, которая содержит значение, которое вы ищете (в строке 2 это «Устройство D»)

Sheet1!A1:B4 называет диапазон в Рабочем листе 1, который содержит таблицу поиска

2 является индексом столбца в таблице поиска, которая в основном вызывает столбец B на рабочем листе 1 в качестве значения для вернуть когда имя устройства (первый столбец) соответствует значению на листе 2 для этой строки.

( чрезвычайно кстати, общий вопрос; это не особая проблема со снежинками ... Возможно, вы смогли легко найти что-то подобное в Google.)


1
Согласитесь с VLOOKUP, но предложите добавить FALSE в качестве 4-го аргумента только для точных совпадений, т.е. =VLOOKUP(A1,Sheet1!A$1:B$4,2,FALSE)
barry houdini

Согласитесь с VLOOKUP и @barryhoudini. Добавьте аргумент FALSE в VLOOKUP, если вы не в порядке с приблизительными совпадениями (для большинства пользователей большую часть времени вы должны добавлять FALSE - в противном случае предполагается, что таблица поиска организована в порядке возрастания и возвращает первое значение & lt; = для искомого поиска значение)
David Zemens

Обновил мой ответ. Если вы считаете, что ответ требует более подробного объяснения о FALSE, не стесняйтесь предлагать правку, и я его рассмотрю.
allquixotic

0

Используйте INDEX MATCH примерно так:

=IFERROR(INDEX(Sheet1!B$2:B$5,(MATCH($A1,Sheet1!A$2:A$5,0))),-1)

Замените значения примера следующим:

МАТЧ( ячейка для сопоставления с sheet2 , диапазон для сравнения с листа1 , 0)

ИНДЕКС( диапазон столбцов, содержащий желаемый результат для sheet1 ,

и замените «-1» на то, что вы хотите отобразить в столбце B, sheet2, если не найдено совпадений в sheet1.

Вот страница с более подробным объяснением этой стратегии:

Как использовать INDEX MATCH

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.