Импорт только определенных строк между электронными документами


12

Документ 1 имеет много строк данных.

Как импортировать в документ 2 только те строки, которые имеют определенное значение в столбце C?

Ответы:


15

Основы:

Это не так просто, как обычный импорт с использованием IMPORTфункции. С помощью этой функции вы можете выполнять только импорт:

=IMPORTRANGE("key","range")

Добавление функции, например SUMили FILTER, в строку «range» приведет к ошибке. Решение должно быть найдено с помощью QUERYфункции:

=QUERY(IMPORTRANGE("key","range"),"SELECT * WHERE Col1='value'")

ИЛИ

=QUERY(IMPORTRANGE("key","A:Z"),"SELECT * WHERE Col1 contains 'value'")

НОТА:

После WHERE определение столбца должно начинаться с прописных букв, а затем строчных. Col будет работать, COL или col не будет.

Сортировка:

После импорта вы можете упорядочить результаты, используя ORDER BYпредложение:

=QUERY(IMPORTRANGE("key","A:Z"),"SELECT * WHERE Col1 contains 'value' ORDER BY Col1")

Выберите столбцы:

Таким образом, IMPORTRANGEфункция не может делать выбранные столбцы, она может делать только один блок диапазона. Чтобы обойти это, используйте QUERYфункцию function SELECT:

=QUERY(IMPORTRANGE("key","A:Z"),"SELECT Col1, Col2, Col3 WHERE Col1 contains 'value' ORDER BY Col1")

Ссылки:

  • IMPORTRANGEфункция: IMPORTRANGE
  • Использование QUERYв сочетании с IMPORTфункцией: QUERY / IMPORT
  • Использование WHEREпредложения в QUERYфункции: QUERY / WHERE
  • Использование ORDER BYпредложения в QUERYфункции: QUERY / ORDER BY

1
@ user2338585 Пожалуйста, отметьте ответ, чтобы будущие посетители заметили его !! Удачи.
Джейкоб Ян Туинстра

эй @ Джейкоб - спасибо большое! это удивительная рецензия ... Я пытаюсь сделать что-то очень похожее на это, но с ОДНЫМ дополнительным шагом ... Я хочу, чтобы выбор основных данных был установлен через значение ячейки в целевой электронной таблице. то есть в столбце A целевого листа, в строке 2 у меня есть значение (скажем, 1000023), и я хочу, чтобы значения столбцов из соответствующей строки в исходной электронной таблице были импортированы ... Попробовано с использованием ячейки A2 в примере с выбранными столбцами, с использованием множества различные комбинации, чтобы ссылаться на него. К сожалению, когда я редактирую свою формулу, она показывает значение А2, когда оно выделено, но не будет его использовать ..
Джулиан Хиггинсон,

3

Была такая же проблема: это то, что я в конечном итоге использовал.

= iferror (QUERY (IMPORTRANGE (" https://docs.google.com/spreadsheets/d/[YOUR_KEY_FROM_URL]/edit ", "Название используемого вами листа! A2: I42"), "выберите * ГДЕ Col5 СОДЕРЖИТ" Полотенце ", 1)," пока нет ценностей! ")

Давайте разберемся немного

IFERROR позволяет отображать удобное для пользователя сообщение, если это не удается, поскольку данные не возвращаются

QUERY позволяет указать критерии поиска. Вы можете опустить это, если вы просто хотите импортировать диапазон ячеек независимо.

ИМПОРТРАНЖ. Используйте предоставленный URL, затем извлеките этот лист, глядя на эти диапазоны (вверху слева, внизу справа)


Важно отметить, что IMPORTRANGE возвращает «мини-таблицу» на основе ваших требований: A2: I42. В этом случае 9 столбцов. Даже если ваш исходный лист содержит 20 столбцов, запрос имеет доступ только к тем столбцам, которые возвращаются. Так что, если бы QUERY использовал Col12, он выдал бы ошибку, потому что было возвращено только 9.
roberthuttinger
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.