Hanya mengimpor baris tertentu di antara dokumen spreadsheet

12

Dokumen 1 memiliki banyak baris data.

Bagaimana cara mengimpor ke dokumen 2 hanya baris yang memiliki nilai tertentu di kolom C?

pengguna2338585
sumber

Jawaban:

15

Dasar-dasar:

Ini tidak semaju impor normal menggunakan IMPORTfungsi. Dengan fungsi ini, Anda hanya dapat melakukan impor:

=IMPORTRANGE("key","range")

Menambahkan fungsi, seperti SUMatau FILTER, dalam string "range" akan menghasilkan kesalahan. Solusinya harus ditemukan, dengan menggunakan QUERYfungsi:

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

ATAU

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

CATATAN:

Setelah WHERE, definisi kolom harus sebagai huruf besar huruf pertama kemudian huruf kecil. Kol akan bekerja, COL atau col tidak akan.

Memerintah:

Setelah diimpor, Anda dapat memesan hasilnya dengan menggunakan ORDER BYklausa:

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

Pilih kolom:

Jadi IMPORTRANGEfungsi tidak bisa melakukan kolom yang dipilih, itu hanya bisa melakukan satu blok jangkauan. Cara mengatasinya adalah dengan menggunakan klausa QUERYfungsi SELECT:

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

Referensi:

Jacob Jan Tuinstra
sumber
1
@ user2338585 Harap tandai jawabannya, sehingga pengunjung yang akan datang akan melihat !! Semoga berhasil.
Jacob Jan Tuinstra
hey @ Jacob - terima kasih banyak! itu sebuah writeup yang luar biasa ... Saya mencoba melakukan sesuatu yang sangat mirip dengan ini, tetapi dengan SATU langkah tambahan ... Saya ingin pemilihan data master diatur melalui nilai sel dalam target spreadsheet .. Yaitu di kolom target sheet A, baris 2 Saya memiliki nilai (katakanlah 1000023) dan saya ingin nilai kolom dari baris yang cocok di spreadsheet sumber yang akan diimpor ... Mencoba menggunakan sel A2 di kolom pilihan Anda contoh, menggunakan banyak kombinasi berbeda untuk merujuknya. Frustasi ketika saya mengedit rumus saya itu MENUNJUKKAN nilai A2 ketika disorot, tetapi tidak akan menggunakannya ..
Julian Higginson
3

Punya masalah yang sama: Inilah yang akhirnya saya gunakan.

= iferror (QUERY (IMPORTRANGE (" https://docs.google.com/spreadsheets/d/[YOUR_KEY_FROM_URL[/edit ", "Judul Lembar yang Anda Gunakan! A2: I42"), "pilih * WHERE Col5 CONTAINS ' Handuk '", 1)," belum ada nilai! ")

Mari kita jabarkan sedikit

IFERROR memungkinkan Anda untuk menampilkan pesan yang ramah pengguna jika ini gagal karena tidak ada data yang dikembalikan

QUERY memungkinkan Anda menentukan kriteria pencarian. Anda dapat menghilangkan ini jika Anda hanya ingin mengimpor rentang sel apa pun.

IMPORTRANGE Gunakan url yang disediakan, lalu ambil sheet ini, dengan melihat rentang ini (kiri atas, ke kanan bawah)

roberthuttinger
sumber
Penting untuk dicatat bahwa IMPORTRANGE mengembalikan 'spreadsheet mini' berdasarkan apa yang Anda butuhkan: A2: I42. Dalam hal ini 9 kolom. Bahkan jika lembar asli Anda memiliki 20 kolom, kueri hanya memiliki akses ke kolom apa yang dikembalikan. Jadi, jika QUERY menggunakan Col12, itu akan menimbulkan kesalahan karena hanya 9 yang dikembalikan.
roberthuttinger