2014-10-07 2 views
8

Так что я застрял с чем-то. У меня две таблицы, столбец А на каждом из них аналогичен, но не идентичен, некоторые значения находятся на одной электронной таблице, но не в другой.Google Sheet вытягивает данные из другой таблицы, если соответствует

Возможно ли, чтобы я извлекал данные из таблицы 2, основываясь на том, имеет ли столбец А соответствующее значение?

Так таблица 2 будет иметь что-то вроде:

A   B 
item1  100 
item2  200 
item3  300 

и таблица 1 будет иметь что-то вроде:

A   B 
item1  NULL 
item2  NULL 
item4  NULL 

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

Я пробовал VLOOKUP и операторы if, но, похоже, не получают ничего е.

ответ

20

Функция VLOOKUP сделает это за вас, при условии, что вы установите параметр is_sorted на FALSE, так что ближайшие совпадения не возвращаются.

Вот пример. Во-первых, наш исходный лист, Sheet1.

enter image description here

На Лист2, мы используем VLOOKUP вытащить информацию из Лист1, используя эту формулу (от В1, в данном случае):

=vlookup(A1,Sheet1!$A$1:$B,2,false) 
     ^--------------^^
     |  |   | +-- is_sorted 
     |  |   +------- return value from col 2 
     |  +------------------- Range for search 
     +------------------------- search_key 

enter image description here

Хорошо, но что #N/A для item4 не очень. Мы можем подавить его, обернув VLOOKUP в IFERROR. Если необязательный второй аргумент IFERROR опущен, то он вернет пустую ячейку, если первый аргумент имеет значение ошибки:

=IFERROR(vlookup(A1,Sheet1!$A$1:$B,2,false)) 

В вашем примере, данные поступают из отдельной таблицы, а не просто другой лист в текущей электронной таблице. Нет проблем - VLOOKUP может быть объединен с IMPORTRANGE в качестве источника данных.

=IFERROR(vlookup(A1,IMPORTRANGE("<sheet-id>","Sheet1!A1:B"),2,false)) 

enter image description here

+0

бы предложить 'IFERROR' обернутую вокруг' VLOOKUP' в отличие от вызова 'VLOOKUP' (и, возможно, более критически, «IMPORTRANGE»), дважды. – AdamL

+1

Абсолютно верно, @AdamL - обновлено. – Mogsdad

4

В связи с последними изменениями в Google Таблицах, формула из AdamL и Mogsdad кажется работать только при подключении 2 листов вместе.

Удалить части из формулы, которые не принадлежат к IMPORTRANGE ..

=IMPORTRANGE("<URL other sheet>";"Sheet1!A2:C") 

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

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

=IFERROR(vlookup(B128;IMPORTRANGE("<URL other sheet>";"SHeet1!A2:C");3;false);) 

После официальной документации вам нужно полный URL из другого листа ..

connect the 2 Google sheets

+0

Это не вопрос, а улучшение вашего ответа. Ваш ответ больше не обновляется. –

+0

В этом случае, отредактируйте это, чтобы сделать его более ясным и актуальным ответом - это вполне приемлемая вещь, и просто вид деятельности, который может заработать репутацию, которую вам нужно прокомментировать! – Mogsdad

+0

Спасибо за помощь мне, если бы я только мог сделать эту формулу применить ко всей колонке ... HELAS = { «Место», ARRAYFORMULA не работает для меня ... –