Saya memiliki spreadsheet bulanan yang mengandalkan angka dari bulan sebelumnya. Saya ingin mengimpor nilai-nilai ini secara dinamis daripada memotong dan menempelkannya. Apakah ini mungkin? Bagaimana saya melakukannya?
Saya memiliki spreadsheet bulanan yang mengandalkan angka dari bulan sebelumnya. Saya ingin mengimpor nilai-nilai ini secara dinamis daripada memotong dan menempelkannya. Apakah ini mungkin? Bagaimana saya melakukannya?
Jawaban:
IMPORTRANGE()
tampaknya merupakan fungsi yang Anda inginkan.
Dari daftar fungsi Google spreadsheet :
Google Spreadsheets memungkinkan Anda referensi buku kerja lain dalam spreadsheet yang sedang Anda edit dengan menggunakan fungsi ImportRange. ImportRange memungkinkan Anda menarik satu atau lebih nilai sel dari satu spreadsheet ke spreadsheet lain. Untuk membuat rumus ImportRange Anda sendiri, masukkan = importRange (kunci spreadsheet, rentang). Untuk bahasa tempat koma digunakan untuk pemisahan desimal, gunakan tanda titik koma alih-alih koma untuk memisahkan argumen dalam rumus Anda.
Spreadsheet-key adalah STRING yang merupakan nilai kunci dari URL spreadsheet.
Rentang adalah STRING yang mewakili rentang sel yang ingin Anda impor, opsional termasuk nama sheet (default ke sheet pertama). Anda juga dapat menggunakan nama rentang jika diinginkan.
Mengingat bahwa kedua argumen tersebut adalah STRING, Anda harus menyertakannya dalam tanda kutip atau merujuk ke sel yang memiliki nilai string di dalamnya.
Sebagai contoh:
= importrange ("abcd123abcd123", "sheet1! A1: C10") "abcd123abcd123" adalah nilai pada atribut "key =" pada URL target spreadsheet dan "sheet1! A1: C10" adalah rentang yang diinginkan untuk diimpor.
= importrange (A1, B1) Sel A1 berisi string ABCD123ABCD123 dan sel B1 berisi sheet1! A1: C10
Catatan: Untuk menggunakan ImportRange, Anda harus ditambahkan sebagai penampil atau kolaborator ke lembar bentang tempat ImportRange mengambil data. Jika tidak, Anda akan mendapatkan kesalahan ini: "kesalahan #REF!: Kunci spreadsheet yang diminta, judul sheet, atau rentang sel tidak ditemukan."
"key" tentu saja adalah string dalam URL untuk spreadsheet yang cocok dengan key=
parameter.
Saya baru saja mengujinya dengan membuat dua spreadsheet. Di sel A1 yang pertama, saya meletakkan string. Di sel A1 yang kedua, saya meletakkan =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
dan menampilkan string dari spreadsheet pertama. (Kunci Anda jelas akan berbeda.)
(Format fungsi mungkin tergantung pada lokasi Anda Di Perancis rumus ini tidak berlaku dengan koma, sehingga Anda akan perlu untuk menggantinya dengan titik koma. =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
CATATAN:
Google saat ini menetapkan batas keras 50 "formula referensi buku kerja" per spreadsheet. Sumber: Google Docs, Sheets, dan Slides batas ukuran . (h / t JJ Rohrer )
Google Spreadsheet "baru" (segera menjadi standar) menghapus batas 50 dari 50 "formula referensi buku kerja silang ( Dukungan Google ) (h / t Jacob Jan Tuinstra )
Di "baru" Google Sheets Anda juga menggunakan seluruh URL sebagai kunci ( Dukungan Google ) (h / t Punchlinern )
FYI jika Anda ingin mereferensikan sheet lain di dalam spreadsheet lain, nama sheet TIDAK boleh dikutip ulang:
menggunakan
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Sheet Name!A1:A10")
dari pada
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","'Sheet Name'!A1:A10")
Di antarmuka baru, Anda seharusnya bisa mengetikkan =
sel, lalu pergi ke lembar lain dan pilih sel yang Anda inginkan. Jika Anda ingin melakukannya secara manual, atau menggunakan antarmuka lama, Anda bisa melakukannya =Sheet1!A1
, di mana Sheet1
nama lembar, dan A1
merupakan sel pada lembar yang Anda pedulikan. Ini identik dengan Microsoft Excel.
Saya menemukan sintaks ini menggunakan Sisipkan -> Tentukan rentang baru
Seluruh kolom: 'Spreadsheet Dengan Spaces in the name'! A: A
Kolom Whole B: 'Spreadsheet With Spaces in the name'! B: B
dll.
Maka Anda dapat menggunakannya sebagai:
=COUNTIF('First Page'!B:B, "valueToMatch")
IMPORTRANGE
fungsinya bisa mengimpor data dari spreadsheet lain . Rentang pengaturan hanya dimaksudkan (mungkin) dalam spreadsheet. Itulah yang saya maksud dengan di luar.
IMPORTRANGE
seperti kata Jacob.
di sini adalah bagaimana saya melakukannya (menerapkan 'importrange ()'):
function REMOTEDATA (inKey, inRange) { var outData; var ss = SpreadsheetApp.openById (inKey); if (ss) { outData = ss.getRange (inRange) .getValues (); } mengembalikan data; }
= SUM (REMOTEDATA ("key", "SheetName! A1: A10"))
"key" adalah kunci dari dokumen, Anda menemukannya di "key = xyz" parameter dari URL dokumen.
dokumentasi untuk ' layanan spreadsheet ' memberikan informasi lebih lanjut tentang topik tersebut.
SpreadsheetApp.openById()
atau SpreadsheetApp.openByUrl()
-> developers.google.com/apps-script/guides/sheets/…
Saya melakukannya dengan cara yang sangat mudah dengan menggunakan Query, misalnya, saya punya 2 lembar ABC dan XYZ dan saya ingin mengimpor rentang dari A1 ke C30 dari Abc ke XYZ, klik sel tempat Anda ingin rentang muncul dan tulis ini:
=QUERY(ABC!A1:C30)
Catatan: Jika nama sheet Anda memiliki spasi maka, tentu saja, Anda menulis ini:
=QUERY('ABC 1'!A1:C30)
QUERY
melakukan itu?
importrange("abcd123abcd123", "sheet1!A1:C10")
misalnya, =query(importrange("abcd123abcd123", "sheet1!A1:C10"))
;-)