У мене є щомісячна електронна таблиця, яка спирається на цифри попереднього місяця. Я хотів би імпортувати ці значення динамічно, а не вирізати та вставляти їх. Чи можливо це? Як це зробити?
У мене є щомісячна електронна таблиця, яка спирається на цифри попереднього місяця. Я хотів би імпортувати ці значення динамічно, а не вирізати та вставляти їх. Чи можливо це? Як це зробити?
Відповіді:
IMPORTRANGE()
виявляється функцією, яку ви хочете.
Із списку функцій електронних таблиць Google :
Google Електронні таблиці дозволяють посилатися на іншу робочу книгу в електронній таблиці, яку ви зараз редагуєте, використовуючи функцію 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 містить sheet1! A1: C10
Примітка. Для того, щоб використовувати ImportRange, ви повинні бути додані як переглядач або співпрацівник до електронної таблиці, з якої ImportRange витягує дані. В іншому випадку ви отримаєте цю помилку: "#REF! Error: Запрошений ключ електронної таблиці, назва аркуша чи діапазон комірок не знайдено."
"key" - це, звичайно, рядок у URL-адресі електронної таблиці, що відповідає key=
параметру.
Я просто перевірив це, створивши дві електронні таблиці. У комірку А1 першого кладу рядок. У комірку А1 другої я поставив =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
і вона відобразила рядок з першої електронної таблиці. (Ваш ключ, очевидно, буде іншим.)
(Формат функції може залежати від вашої локалі У Франції формула не діє з коми, так що вам потрібно замінити його з коми :. =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
ПРИМІТКИ:
Наразі Google встановлює жорсткий ліміт - 50 "формул посилань між робочими книгами" на електронну таблицю. Джерело: Обмеження розміру Документів, Таблиць та Слайдів Google . (г / т Дж. Дж. Рохрер )
"Нова" електронна таблиця Google (незабаром стане стандартом) видаляє обмеження 50-межової довідкової формули для крос-робочої книги ( підтримка Google ) (г / т Якова Яна Туінстра )
У "нових" Таблицях 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('First Page'!B:B, "valueToMatch")
IMPORTRANGE
функція може імпортувати дані з іншої електронної таблиці. Встановлення діапазонів мається на увазі (можливо) лише в електронній таблиці. Це те, що я мав на увазі ззовні.
IMPORTRANGE
як сказав Яків.
ось як я це зробив (повторно доповнено 'importrange ()'):
функція REMOTEDATA (inKey, inRange) { var outData; var ss = SpreadsheetApp.openById (inKey); if (ss) { outData = ss.getRange (inRange) .getValues (); } повернути вихідДані; }
= SUM (REMOTEDATA ("ключ", "Назва листа! A1: A10"))
"ключ" - це ключ документа, ви знаходите його в параметрі "key = xyz" URL-адреси документа.
Документація до " служб електронних таблиць " надає додаткову інформацію по цій темі.
SpreadsheetApp.openById()
або SpreadsheetApp.openByUrl()
-> developers.google.com/apps-script/guides/sheets/…
Я зробив це дуже просто, використовуючи Запит, наприклад, у мене є 2 аркуші ABC і XYZ, і я хочу імпортувати діапазон від A1 до C30 з Abc до XYZ, клацніть на клітинку, де ви хочете, щоб діапазон з'явився, і напишіть це:
=QUERY(ABC!A1:C30)
Примітка: Якщо в назві аркуша є пробіли, то, звичайно, ви пишете це:
=QUERY('ABC 1'!A1:C30)
QUERY
це зробити?
importrange("abcd123abcd123", "sheet1!A1:C10")
наприклад, =query(importrange("abcd123abcd123", "sheet1!A1:C10"))
;-)