VLOOKUP для соответствия определенным критериям под определенным заголовком столбца - PullRequest
1 голос
/ 07 марта 2012

Я не совсем уверен, как это сделать.

Я не уверен, является ли VLOOKUP подходящим инструментом для этого ... учитывая, что индекс, который я ищу, это имя заголовка столбца, а не число?

Вот то, что я имею до сих пор ..

На одном листе у меня есть информация. Три столбца предназначены для определения данных, а 4-я, 5-я и 6-я строки - сами данные.

Description     Description Description Harry   Paul    David
Hairy   Red Foot    Very    No  Kinda
Ugly    Blue    Hair    None    A little    A lot
Pretty  White   Dress   Yes Average Sparkle

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

Description     Description Description Harry   Paul    David
Hairy   Red Foot            
Ugly    Blue    Hair            
Pretty  White   Dress

Я хочу настроить его так, чтобы при определенной ячейке на листе импорта. Имеет ячейку, которая соответствует определенным критериям в исходных данных (i, e, description1 = Hairy, description2 = Red, Description3 = Foot in the Harry column). Будет отображаться Very.

Может ли кто-нибудь предоставить какую-либо информацию о том, что мне нужно исследовать? Я считаю, что это динамический поиск?

Редактировать: Я забыл упомянуть, что имена могут перемещаться между импортом (поэтому Дейв может прийти раньше, чем Джон и т. Д.).

Полагаю, этого можно добиться с помощью комбинации операторов SUMIF и VLOOKUP?

Ответы [ 3 ]

0 голосов
/ 07 марта 2012

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

Сначала убедитесь, что заголовки описания уникальны на каждом листе (Desc1, Desc2, Desc3), затем выберите лист импорта и выберите Advanced Filter на вкладке Data с параметрами:

  • Действие: Скопировать в другое место

  • Диапазон списка: [Книга1] Лист1! $ A $ 1: $ F $ 4 (Исходная рабочая тетрадь)

  • Диапазон критериев: $ A $ 1: $ C $ 4 (описания)

  • Копировать в: $ A $ 1: $ F $ 1 (Заголовки)

  • Только уникальные записи: отметьте

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

0 голосов
/ 24 марта 2012
writablesheet.addCell(new Formula(0, i, "VLOOKUP(A"+i+",'Sheet2'!A$"+i+":B$6,2,0)"));

когда вы вводите имя листа, оно должно быть в одинарных кавычках

, а i обозначает индекс строки

уверен, что это поможет вам

0 голосов
/ 07 марта 2012

1) Создайте столбец, в котором вы объедините ключи поиска, разделенные каким-либо символом (дефис будет работать в приведенном вами примере), и используйте это значение в качестве ключа поиска

2) Убедитесь, что исходный лист отсортирован, и используйте false в качестве последнего параметра в функции VLOOKUP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...