1

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

Применить формулу VLOOKUP к нескольким листам

Проблема в этом ответе состоит в том, что я абсолютно уверен, что все мои записи будут совпадать на первом листе, но многие из них будут совпадать с пустыми ячейками. В таком случае я бы хотел, чтобы формула искала на втором листе, на третьем листе и т.д., Пока не останется листа. Количество листов у меня разумное (оно не будет больше 10), поэтому я не против решения, требующего явной записи всех листов в формуле.

Большое спасибо.

2 ответа2

1

Excel не очень хорошо справляется с трехмерным поиском (по всем листам). Единственный известный мне способ сделать это - проверить каждую ячейку и посмотреть, пуста ли она, если нет, перейти к следующей. Ниже приведен пример использования 3 листов.

= Если (Isbank (ВПР (f1, sheet1!A2:B10,2, ложь)), если (Isbank (ВПР (f1, sheet2!A2:B10,2, ложь)), если (Isbank (ВПР (f1, Sheet3!A2:B10,2, ложь)), "no_non_blank", ВПР (f1, Sheet3!A2:B10,2, ложь)), ВПР (f1, sheet2!A2:B10,2, ложь)), ВПР (f1, sheet1!A2:B10,2, ложь))

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

0

Я бы использовал Power Query Add-In для этого. Вы можете импортировать данные с каждого целевого листа в виде отдельного запроса и отфильтровать пустые строки. Затем вы можете построить еще один запрос, начиная с базового листа и по очереди добавляя его в целевые листы, используя команду «Объединить»:

http://office.microsoft.com/en-au/excel-help/merge-queries-HA104149757.aspx?CTT=5&origin=HA103993872

Вы можете доставить окончательный результат в таблицу Excel.

С Power Query работать намного проще, чем со сложными вложенными выражениями vlookup. На каждом шаге вы можете мгновенно увидеть полученные данные.

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