Как связать ячейку в таблицах Google с ячейкой в другом документе?
У меня есть ежемесячная электронная таблица, которая опирается на цифры за предыдущий месяц. Я хотел бы импортировать эти значения динамически, а не разрезать и вставлять их. Это возможно? Как это сделать?
6 ответов
IMPORTRANGE()
- это функция, которую вы хотите.
Из списка функций электронных таблиц Google
Google Spreadsheets позволяет вам ссылаться другая рабочая книга в электронной таблице которые вы редактируете, используя функция ImportRange. ImportRange позволяет вытащить одно или несколько значений ячейки из одной таблицы в другую. к создайте свои собственные формулы ImportRange, введите = importRange (таблица электронных таблиц, ассортимент). Для языков, где запятая используется для десятичного разделения, используйте точка с запятой вместо запятой отдельные аргументы в вашей формуле.
Таблица электронных таблиц - это STRING, которая ключевое значение из таблицы URL.
Диапазон - это STRING, представляющий диапазон ячеек, которые вы хотите импортировать, необязательно, включая имя листа (по умолчанию - первый лист). Ты можешь также используйте название диапазона, если хотите.
Учитывая, что два аргумента STRING, вам необходимо вложить их в цитаты или ссылки на ячейки, которые имеют строковые значения в них.
Например:
= importrange ("abcd123abcd123", "sheet1! A1: C10") "abcd123abcd123" значение в атрибуте «key =» на URL целевой таблицы и «sheet1! A1: C10» - это диапазон, который равен желательно импортировать.
= importrange (A1, B1) Ячейка A1 содержит строку ABCD123ABCD123 и ячейку B1 содержит лист1! A1: C10
Примечание. Чтобы использовать ImportRange, вы необходимо добавить в качестве зрителя или соавтором таблицы из который ImportRange извлекает данные. В противном случае вы получите эту ошибку: Ошибка #REF! ключ электронной таблицы, название листа или ячейку диапазон не найден. "
«ключ» - это, конечно, строка в URL-адресе таблицы, которая соответствует параметру key=
.
Я просто проверил это, создав две таблицы. В ячейке A1 первого я поставил строку. В ячейке A1 второго я положил =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
, и он отобразил строку из первой электронной таблицы. (Ваш ключ, очевидно, будет другим.)
(Формат функции может зависеть от вашего языка. Во Франции формула недействительна с запятой, поэтому вам нужно заменить ее на запятую: =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
ПРИМЕЧАНИЕ:
-
В настоящее время Google устанавливает жесткий предел 50 «справочных формул для перекрестных книг» для каждой электронной таблицы. Источник: Лимиты Google Документов, Таблиц и слайдов . (h /t JJ Rohrer )
-
«Новая» таблица Google (в скором времени станет стандартом) удаляет 50 предел 50 «ссылочных формул для перекрестных книг» ( Служба поддержки Google ) (h /t Джейкоб Ян Туинстра )
-
В «новых» Google Таблицах вы также используете весь URL в качестве ключа ( Служба поддержки Google ) (h /t Punchlinern )
FYI, если вы хотите ссылаться на другой лист внутри этой другой таблицы, имя листа НЕ следует повторять:
использовать
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")
вместо
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","'Sheet Name'!A1:A10")
В новом интерфейсе вы должны просто ввести =
в ячейку, а затем просто перейти на другой лист и выбрать нужную ячейку. Если вы хотите сделать это вручную или используете старый интерфейс, вы можете просто сделать =Sheet1!A1
, где Sheet1
- это имя листа, а A1
- ячейка на этом листе, о которой вы заботитесь. Это идентично Microsoft Excel.
Я нашел этот синтаксис, используя Insert -> Определить новый диапазон ДИАПАЗОН ДЛЯ СПИСКА ДРУГИХ РАСПРОСТРАНЕНИЙ:
Целый столбец: «Таблица с пробелами в имени»! A: A
Столб целых B: «Таблица с пробелами в названии»! B: B
и др.
Затем вы можете использовать его как:
= COUNTIF ('Первая страница'! B: B, "valueToMatch")
вот как я это сделал (переопределяет 'importrange ()'):
- откройте редактор сценариев ("tools" -> "scripts" -> "editor editor")
- предоставляет такую функцию (без каких-либо проверок это должно быть улучшено, но вы получите общую идею):
функция REMOTEDATA (inKey, inRange) { var outData; var ss = SpreadsheetApp.openById (inKey); если (ss) { outData = ss.getRange (inRange) .getValues (); } return outData; }
- используйте эту формулу, как это в вашей таблице:
= SUM (REMOTEDATA («ключ», «SheetName! A1: A10»))
«ключ» - это ключ документа, вы найдете его в параметре «key = xyz» URL-адреса документа.
документация для служб электронных таблиц предоставляет дополнительную информацию о тема.
Я сделал это очень просто, используя Query, например, у меня есть 2 листа ABC и XYZ, и я хочу импортировать диапазон от A1 до C30 из Abc в XYZ, щелкните ячейку, в которой вы хотите, чтобы диапазон отображался и записывал это
=QUERY(ABC!A1:C30)
Примечание. Если ваше имя листа имеет пробелы, то, конечно, вы пишете это:
=QUERY('ABC 1'!A1:C30)