Как найти значение из другого листа в Документах Google?


16

У меня есть страница, которая выглядит так:

╔═══╦════════╦══════╦═══╗
║ A ║ B      ║ C    ║ D ║
╠═══╬════════╬══════╬═══╣
║ 1 ║ User A ║ 144  ║   ║
║ 2 ║ User B ║ 5478 ║   ║
║ 3 ║ User A ║ 2156 ║   ║
╚═══╩════════╩══════╩═══╝

Я хотел бы заполнить столбец D данными с другой страницы:

╔═════╦══════╦═══╦════════╗
║ A   ║ B    ║ C ║ D      ║
╠═════╬══════╬═══╬════════╣
║ ABC ║ User ║ B ║ User B ║
║ DEF ║ User ║ A ║ User A ║
╚═════╩══════╩═══╩════════╝

Примечание: столбец D представляет собой объединение столбцов B и C.

В этом случае следует заполнить столбец D на странице 1 данными из столбца A на странице 2, которые соответствуют страницам от Page1! B до страницы2! D, что должно привести к следующей комбинированной таблице:

╔═══╦════════╦══════╦═════╗
║ A ║ B      ║ C    ║ D   ║
╠═══╬════════╬══════╬═════╣
║ 1 ║ User A ║ 144  ║ DEF ║
║ 2 ║ User B ║ 5478 ║ ABC ║
║ 3 ║ User A ║ 2156 ║ DEF ║
╚═══╩════════╩══════╩═════╝

Как я могу сделать это в Google Spreadsheets?



1
Я не уверен. Другой вопрос касается ссылки на другой документ, а решение другое.
ChrisF

Ответы:


23

Вам нужно использовать функцию VLOOKUP

У меня есть следующее в Sheet1 альтернативный текст

И это в листе 2

альтернативный текст

Я назначил диапазон значениям в Sheet2 и назвал диапазон LookupValues.

Тогда в моей формуле для столбца D на листе 1 у меня есть: альтернативный текст

Разбивка формулы:

  • A3 - это значение, которое нужно найти в диапазоне поиска
  • LookupValues диапазон для поиска
  • 3 индекс диапазона, который нужно вернуть, если в диапазоне найдено значение (A3) (LookupValues)

ОБНОВИТЬ

Чтобы создать диапазон, щелкните правой кнопкой мыши квадрат в левом верхнем углу таблицы и выберите « Определить именованный диапазон».

альтернативный текст

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

альтернативный текст

Затем вы можете получить доступ к диапазону ячеек по имени, а не по традиционному Sheet2!A1:T100 методу.

РЕДАКТИРОВАТЬ 2

В ответ на ваш обновленный вопрос вам нужно изменить формулу следующим образом:

=VLOOKUP(B1, LookupValues, 1)

Это будет искать в вашем диапазоне для значения в B1 из Sheet1. например, «Пользователь A», а затем вернуть любое значение в столбце 1, например, «ABC»


Не могли бы вы объяснить, какой диапазон вы используете для LookupValues? Я также немного изменил пример, чтобы лучше отразить мою реальную проблему.
Чувствительный

@Senseful - я обновил свой ответ. Если у вас возникнут какие-либо проблемы, дайте мне знать.
codingbadger

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

Да, то же самое в MS Excel. Я всегда пытался сказать «ищите из этого столбца, посмотрите в столбце и дайте мне этот столбец» вместо того, чтобы указывать диапазон. Это странно :)
codingbadger

В Google Docs (электронная таблица) это теперь называется «Именованные и защищенные диапазоны» в меню правой кнопки мыши.
ingh.am

3

Вы можете использовать:

index(reference, [row], [column])

где:

reference = Sheet2!$A$1:$A$2

row = match(B1,Sheet2!$D$1:$D$2,0)

column = 1

Ячейка D1 получает следующее значение:

= index(Sheet2!$A$1:$A$2,match(B1,Sheet2!$D$1:$D$2,0),1)

Перетащите эти значения в ячейки D2 и D3.

Это предполагает, что ваш второй лист называется Sheet2, конечно.


match(B1,Sheet2!$D$1:$D$2,0)

... вернет номер строки в массиве D1: D2 Sheet2, в котором сопоставляется имя пользователя в ячейке B1.


2

Вы можете сопоставить это с простой формулой VLOOKUP, если данные находятся на разных листах одной и той же электронной таблицы, но в примере из codingbadger отсутствует аргумент (для формулы, которая должна выдавать только точные совпадения, в формуле должно быть «FALSE», она выиграет » не работает, если отличается или отсутствует).

Пример использования : VLOOKUP (10003, A2: B26, 2, FALSE)

Синтаксис : VLOOKUP (ключ поиска, диапазон, индекс, [is_sorted])

search_key - значение для поиска. Например, 42, «Кошки» или I24.

диапазон - диапазон, чтобы рассмотреть для поиска. В первом столбце диапазона ищется ключ, указанный в search_key.

index - индекс столбца возвращаемого значения, где первый столбец в диапазоне нумеруется 1.

Если индекс не находится между 1 и числом столбцов в диапазоне, #VALUE! возвращается is_sorted - [OPTIONAL - TRUE по умолчанию] - указывает, отсортирован ли столбец для поиска (первый столбец указанного диапазона).

Если is_sorted равно TRUE или опущено, возвращается ближайшее совпадение (меньше или равно ключу поиска). Если все значения в столбце поиска больше, чем ключ поиска, возвращается # N / A.

Если is_sorted установлен в TRUE или опущен, а первый столбец диапазона находится не в отсортированном порядке, может быть возвращено неверное значение.

Если is_sorted равно FALSE, возвращается только точное совпадение. Если имеется несколько совпадающих значений, возвращается содержимое ячейки, соответствующей первому найденному значению, и возвращается # N / A, если такое значение не найдено.

Живой пример здесь: https://www.youtube.com/watch?v=WbWoJgdeR-s

См. Полное руководство по адресу: https://support.google.com/docs/answer/3093318?hl=ru.

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