Saya memiliki dua lembar kerja dalam dua file Excel yang berbeda. Keduanya berisi daftar nama, nomor id, dan data terkait. Satu adalah daftar master yang mencakup bidang demografi umum, dan yang lainnya adalah daftar yang hanya mencakup nama dan id, dan alamat. Daftar ini dikupas dari daftar utama oleh kantor lain.
Saya ingin menggunakan daftar ke-2 untuk memfilter yang pertama. Selain itu, saya ingin hasilnya menyertakan bidang lain dari lembar kerja utama di samping bidang alamat dari lembar kerja kedua. Saya tahu bagaimana saya bisa melakukan ini dengan sangat mudah dengan penggabungan basis data, tetapi saya kurang jelas tentang cara melakukan ini secara efisien di Excel. Bagaimana cara bergabung dengan dua lembar kerja di Excel? Poin bonus untuk menunjukkan cara melakukan outer joins juga, dan saya lebih suka mengetahui bagaimana melakukan ini tanpa membutuhkan makro.
sumber
=INDEX ( Column_I_want_a_return_value_from , ( MATCH ( My_Lookup_Value , Column_I_want_to_Lookup_against , 0 ))
Jawaban:
Untuk 2007+ penggunaan
Data
>From Other Sources
>From Microsoft Query
:Excel File
dan pilih excel 1 Anda(jika Anda tidak melihat daftar kolom, pastikan untuk memeriksa
Options
>System Tables
)Data
>Connections
> [pilih koneksi yang baru saja dibuat]>Properties
>Definition
>Command text
Anda sekarang dapat mengedit ini
Command text
sebagai SQL. Tidak yakin apa sintaks yang didukung, tetapi saya mencoba bergabung secara implisit, "bergabung dalam", "bergabung dengan kiri" dan serikat yang semuanya bekerja. Berikut ini contoh permintaan:sumber
Mendukung jawaban yang diterima. Saya hanya ingin menekankan pada "pilih kolom (jika Anda tidak melihat daftar kolom, pastikan untuk memeriksa Pilihan> Tabel Sistem)"
Setelah Anda memilih file excel, sangat mungkin Anda akan melihat
this data source contains no visible tables
prompt, dan tab dan kolom yang tersedia tidak ada. Microsoft mengakui itu adalah bug yang tab di file excel diperlakukan sebagai "System Tables", dan opsi untuk "System Tables" tidak dipilih secara default. Jadi jangan panik pada langkah ini, Anda hanya perlu mengklik "opsi" dan periksa "Tabel Sistem", maka Anda melihat kolom yang tersedia.sumber
VLOOKUP dan HLOOKUP dapat digunakan untuk mencari kunci utama yang cocok (disimpan secara vertikal atau horizontal) dan mengembalikan nilai dari kolom / baris 'atribut'.
sumber
Anda dapat menggunakan Microsoft Power Query, tersedia untuk versi Excel yang lebih baru (mirip dengan jawaban yang diterima, tetapi jauh lebih sederhana dan lebih mudah). Panggilan Power Query bergabung dengan 'gabungan'.
Cara termudah adalah dengan memiliki 2 lembar Excel Anda sebagai tabel Excel. Kemudian di Excel, buka tab pita Power Query, dan klik tombol 'Dari Excel'. Setelah Anda mengimpor kedua tabel ke Power Query, pilih satu dan klik 'Gabung'.
sumber
Meskipun saya pikir jawaban Aprillion menggunakan Microsoft Query sangat bagus, itu mengilhami saya untuk menggunakan Microsoft Access untuk bergabung dengan lembar data yang saya temukan jauh lebih mudah.
Anda harus menginstal MS Access tentu saja.
Langkah:
Get External Data
untuk mengimpor data Excel Anda sebagai tabel baru.Relationships
untuk menunjukkan bagaimana tabel Anda digabungkan.External Data->Export to Excel
untuk menghasilkan hasil Anda.Saya benar-benar tidak bisa melakukan itu tanpa jawaban yang bagus dari Aprillion.
sumber
Anda tidak dapat membentuk sebelumnya gaya SQL bergabung di tabel Excel dari dalam Excel. Yang mengatakan, ada banyak cara untuk mencapai apa yang Anda coba lakukan.
Di Excel, seperti yang dikatakan Reuben, rumus yang mungkin paling berhasil adalah
VLOOKUP
danHLOOKUP
. Dalam kedua kasus, Anda cocok pada baris unik dan mengembalikan nilai kolom \ baris yang diberikan ke kiri \ ke bawah dari id yang ditemukan.Jika Anda hanya ingin menambahkan beberapa bidang tambahan ke daftar kedua, maka tambahkan rumus ke daftar kedua. Jika Anda menginginkan tabel gaya "gabung luar", lalu tambahkan
VLOOKUP
rumus ke daftar pertama denganISNA
untuk menguji apakah pencarian ditemukan. Jika Bantuan Excel tidak memberi Anda cukup detail tentang cara menggunakannya dalam contoh khusus Anda, beri tahu kami.Jika Anda lebih suka menggunakan SQL kemudian menautkan data ke program database Anda, membuat kueri Anda, dan mengekspor hasilnya kembali ke Excel. (Di Access, Anda dapat mengimpor lembar kerja Excel atau Named Ranges sebagai Tabel Tertaut.)
sumber
Di XLTools.net kami telah membuat alternatif yang baik untuk MS Query untuk bekerja terutama dengan SQL Queries terhadap tabel Excel. Ini disebut XLTools SQL Queries . Ini jauh lebih mudah untuk digunakan daripada MS Query dan bekerja dengan sangat baik jika Anda hanya perlu membuat dan menjalankan SQL - tanpa VBA, tidak ada manipulasi kompleks dengan ...
Dengan alat ini Anda bisa membuat kueri SQL apa pun terhadap tabel dalam buku kerja Excel menggunakan editor SQL yang disematkan dan menjalankannya segera dengan opsi untuk menempatkan hasilnya pada lembar kerja baru atau yang sudah ada.
Anda dapat menggunakan hampir semua jenis join termasuk LEFT OUTER JOIN (hanya RIGHT OUTER JOIN dan FULL OUTER JOIN tidak didukung).
Berikut ini sebuah contoh:
sumber
Untuk Pengguna Excel 2007: Data> Dari Sumber Lain> Dari Microsoft Query> browse ke file Excel
Menurut artikel ini , kueri dari XLS versi 2003 mungkin menghasilkan "Sumber data ini tidak mengandung tabel yang terlihat." kesalahan karena lembar kerja Anda diperlakukan sebagai tabel SISTEM. Jadi periksa "System Tables" di opsi dialog "Query Wizard - Choose Columns" ketika Anda membuat kueri akan bekerja.
Untuk menentukan gabungan Anda: Microsoft Query dialog> Table table> Joins ...
Untuk mengembalikan data ke lembar Excel asli Anda, pilih "Kembalikan data ke Lembar Excel" dari dialog Microsoft Query> Menu file.
sumber
Jika Anda cukup terbiasa dengan database, Anda bisa menggunakan SQL Server untuk menghubungkan kedua lembar kerja sebagai Server Tertaut dan kemudian menggunakan T-SQL untuk melakukan pekerjaan data back-end Anda. Kemudian selesaikan dengan menghubungkan kembali Excel ke SQL dan tarik data ke dalam tabel (reguler atau pivot). Anda juga dapat mempertimbangkan menggunakan Powerpivot; itu akan memungkinkan gabungan antara sumber basis data apa pun - termasuk Excel yang digunakan sebagai basis data datar.
sumber
Mencari masalah yang sama saya menemukan RDBMerge , yang saya pikir adalah cara yang ramah pengguna untuk Menggabungkan Data dari Beberapa Buku Kerja Excel, file csv dan xml ke dalam Buku Kerja Ringkasan.
sumber