Aku punya bulanan spreadsheet yang bergantung pada angka-angka dari bulan sebelumnya. I'd seperti untuk mengimpor nilai-nilai ini secara dinamis daripada memotong dan menyisipkan mereka. Apakah ini mungkin? Bagaimana saya melakukannya?
IMPORTRANGE()
tampaknya menjadi fungsi yang anda inginkan.
Dari Google spreadsheet fungsi list:
Google Spreadsheet yang memungkinkan anda referensi buku kerja yang lain di spreadsheet anda're saat mengedit dengan menggunakan ImportRange fungsi. ImportRange memungkinkan anda menarik satu atau lebih nilai sel dari satu lembar kerja ke yang lain. Untuk membuat sendiri ImportRange rumus, masukkan =importRange(spreadsheet-kunci, range). Untuk bahasa-bahasa di mana koma digunakan untuk desimal pemisahan, menggunakan titik koma, bukan titik koma untuk argumen terpisah dalam rumus anda.
Spreadsheet-key adalah sebuah STRING yang nilai kunci dari spreadsheet URL.
Range adalah sebuah STRING yang mewakili rentang sel yang ingin anda impor, opsional termasuk nama lembar (default lembar pertama). Anda dapat juga menggunakan berbagai nama jika anda lebih suka.
Mengingat bahwa dua argumen STRINGs, anda perlu menyertakan mereka dalam mengutip atau merujuk ke sel-sel yang memiliki string nilai-nilai di dalamnya.
misalnya:
=importrange("abcd123abcd123", "sheet1!A1:C10") "abcd123abcd123" nilai "key=" atribut pada URL target spreadsheet dan "sheet1!A1:C10" adalah rentang yang yang diinginkan yang akan diimpor.
=importrange(A1,B1) Sel A1 berisi string ABCD123ABCD123 dan sel B1 berisi sheet1!A1:C10
Catatan: Dalam rangka untuk menggunakan ImportRange, anda perlu ditambahkan sebagai penampil atau kolaborator untuk spreadsheet dari yang ImportRange menarik data. Jika tidak, anda'll mendapatkan error ini: "#REF! kesalahan: diminta spreadsheet kunci, lembar judul, atau sel kisaran tidak ditemukan."
"kunci" adalah, tentu saja, string di URL untuk spreadsheet yang cocok untuk key=
parameter.
Aku hanya diuji dengan menciptakan dua spreadsheet. Di sel A1 pertama, saya menempatkan string. Di sel A1 kedua, saya menempatkan =importRange("tgR2P4UTz_KT0Lc270Ijb_A","A1")
dan ditampilkan string dari spreadsheet. (Kunci anda jelas akan berbeda.)
(Format dari fungsi mungkin tergantung pada lokal anda. Di Perancis rumus ini tidak berlaku dengan koma, sehingga anda'll perlu menggantinya dengan semi-colon: =importRange("tgR2P4UTz_KT0Lc270Ijb_A";"A1")
)
NOTES:
Google saat ini menetapkan batas keras dari 50 "cross-referensi buku kerja formula" per spreadsheet. Sumber: Google Docs, Sheets, dan Slides batas ukuran. (h/t JJ Rohrer)
"baru" Google Spreadsheet (segera untuk menjadi standar) menghilangkan 50 batas 50 "palang-buku referensi rumus (Dukungan Google) (h/t Jacob Jan Tuinstra)
Dalam "baru" Google Spreadsheet anda juga menggunakan seluruh URL sebagai kunci (Dukungan Google) (h/t Punchlinern)
FYI jika anda ingin referensi lain lembaran dalam spreadsheet lainnya, lembar nama TIDAK boleh re-quote:
gunakan
=importRange("tgR2P4UTz_KT0Lc270Ijb_A","Nama Lembar!A1:A10")
bukan
=importRange("tgR2P4UTz_KT0Lc270Ijb_A"",'Nama Lembar'!A1:A10")
Dalam antarmuka baru, anda hanya harus mampu type =
dalam sel, kemudian hanya pergi ke lembar lainnya dan memilih sel yang anda inginkan. Jika anda ingin melakukannya secara manual, atau menggunakan antarmuka lama, anda hanya dapat melakukan =Sheet1!A1
, di mana Sheet1
adalah nama lembar, dan A1
adalah sel pada lembar yang anda sayangi. Ini adalah identik dengan Microsoft Excel.
Saya menemukan ini menggunakan sintaks Insert -> Define range baru
Seluruh kolom: 'Spreadsheet Dengan Spasi di nama'!A:
Seluruh kolom B: 'Spreadsheet Dengan Spasi di nama'!B:B
dll.
Kemudian anda dapat menggunakannya sebagai:
=COUNTIF('First Page'!B:B, "valueToMatch")
berikut adalah bagaimana saya melakukannya (reimplemented 'importrange()'):
fungsi REMOTEDATA(inKey, inRange) {var outData; var ss = SpreadsheetApp.openById(inKey);
jika (ss) { outData = ss.getRange(inRange).getValues(); }
kembali outData; }
=SUM(REMOTEDATA("kunci", "SheetName!A1:A10"))
"kunci" adalah kunci dari dokumen, anda menemukan hal ini di "key=xyz" parameter URL dokumen.
dokumentasi untuk 'spreadsheet jasa' memberikan informasi lebih lanjut pada topik.
Aku melakukannya dengan cara yang sangat mudah dengan menggunakan Query, misalnya, saya memiliki 2 lembar ABC dan XYZ dan saya ingin impor berkisar dari A1 sampai C30 dari Abc ke XYZ, klik sel tempat anda ingin kisaran muncul dan menulis ini:
=QUERY(ABC!A1:C30)
Catatan: Jika nama lembar memiliki ruang maka, tentu saja, anda menulis ini:
=QUERY('ABC 1'!A1:C30)