Membaca dokumentasi untuk =QUERY
fungsi 1 , 2 , 3 , beberapa di antaranya sepertinya menyiratkan bahwa saya harus dapat menggunakan tajuk kolom secara langsung dalam kueri saya. Misalnya, =QUERY
fungsi mengambil parameter opsional ketiga , HEADERS
yang memungkinkan Anda menentukan jumlah baris sundulan.
Sebagian besar pertanyaan saya akan jauh lebih cantik jika saya bisa menggunakan tajuk kolom, sehingga tidak harus menggunakan indeks kolom, tapi saya tidak dapat membuatnya berfungsi.
Contoh:
A B C
---------------------
Name Phone City
Vidar 12345678 Oslo
Rupert 32165487 Berlin
Saya dapat menanyakan ini dengan menggunakan indeks kolom:
=QUERY(Sheet1!A1:C; "select A, B, C where A = 'Vidar'"; 1)
... tetapi tidak menggunakan tajuk kolom:
=QUERY(Sheet1!A1:C; "select A, B, C where Name = 'Vidar'"; 1)
... ini memberi saya Kesalahan: Kueri tidak valid: Kolom [Nama] tidak ada dalam tabel
Apakah mungkin menggunakan tajuk kolom seperti ini? Jika tidak, apa tujuan dari HÈADERS
parameter tersebut?
sumber
HEADERS > 0
kemudian jumlah baris tajuk yang diberikan akan dikembalikan=QUERY
di atas hasil kueri, kan? Itu masuk akal - saya pikirHEADERS
hanya baris tertentu untuk diabaikan dalam permintaan.OFFSET
Opsi ini dapat digunakan untuk mengabaikan baris pertama.Ya itu mungkin. Pertama, Anda perlu menggunakan MATCH untuk mendapatkan nomor kolom dari kolom yang nilainya cocok dengan 'Nama'. Maka Anda perlu menggunakan ADDRESS untuk mendapatkan referensi sel. Terakhir, Anda perlu menggunakan SUBSTITUTE untuk menghapus nomor baris dari referensi sel.
sumber
Sementara posting lama, saya ingin menambahkan solusi saya ke dalam campuran. Anda dapat menggunakan nama kolom yang menurut saya lebih berguna. Dengan cara ini Anda tidak perlu mengedit panggilan fungsi kueri saat Anda menyisipkan atau menghapus kolom dari data sumber.
Saya telah melihat orang lain menggunakan pertandingan dan pengganti, saya menerapkan sesuatu yang sedikit berbeda dengan panggilan fungsi permintaan.
Pertama - Buat tabel pencarian semua nama kolom Anda seperti ini. Tabel pencarian saya dimulai pada Kolom E dari lembar 'Konfig' hanya karena saya memiliki item lain di lembar, itu dapat dengan mudah ditempatkan di lembar sendiri.
Kolom 1 (Nama Kolom)
Kolom 2 (Kolom #)
Kolom 3 (Surat Kolom)
Saya terbuka pada penyempurnaan untuk mengonversi nomor kolom menjadi huruf. Formula ini terbatas karena hanya menangani 78 kolom. Lebih dari cukup bagi saya.
Sekarang panggilan fungsi Kueri Anda akan terlihat seperti ini:
Tetap diformat dengan baik dan tidak buruk untuk dikelola sama sekali. Satu-satunya hal yang akan Anda derita adalah jika Anda mengubah indeks kolom rentang vlookup Anda. Tapi ini seharusnya tidak sering berubah, jika sama sekali, mengingat itu adalah kisaran penolong.
sumber
Pertanyaan lama, tapi saya pikir solusi ini mungkin sepadan.
Anda dapat menggunakan fungsi skrip khusus yang mengambil indeks kolom (yaitu A, B, C ...) menggunakan nama header, memungkinkan untuk melakukan sesuatu seperti:
Dengan
colIndex
fungsi:Yang mungkin lebih mudah digunakan dan dibaca.
sumber
Inilah solusi saya:
jika Anda memiliki kolom yang disebut "kota", buat sel baru di suatu tempat dengan indeks sel itu:
Anda kemudian dapat membuat rentang bernama untuk sel Z: 2 bernama: "name", Z: 3 = "phone", Z: 4 = "city"
dalam kueri Anda, Anda kemudian dapat menulis:
Anda dapat menggabungkan ini dengan solusi pencocokan alamat, untuk tidak harus melacak kolom yang disusun ulang.
sumber