Saya memiliki data yang terlihat seperti ini:
Id | Loc1 | Loc2 | Loc3 | Loc4
---+------+------+------+-----
1 | NY | CA | TX | IL
2 | WA | OR | NH | RI
Dan saya ingin mengubahnya menjadi ini:
Id | LocNum | Loc
---+--------+----
1 | 1 | NY
1 | 2 | CA
1 | 3 | TX
1 | 4 | IL
2 | 1 | WA
2 | 2 | OR
2 | 3 | NH
2 | 4 | RI
Apa cara termudah untuk melakukan ini di Excel 2007?
Jawaban:
Anda bisa melakukan ini dengan tabel pivot.
Anda akan melihat lembar baru yang berisi semua data di tabel pivot Anda, ditransformasikan dengan cara yang Anda cari.
Teknologi Datapig menyediakan petunjuk langkah demi langkah yang sebenarnya lebih rumit dari yang Anda butuhkan - contohnya mentranspos hanya sebagian dari kumpulan data & menggunakan teknik pivot yang dikombinasikan dengan TextToColumns . Tetapi memang memiliki banyak gambar.
Perhatikan bahwa tabel pivot akan mengelompokkan data. Jika Anda menginginkannya tidak dikelompokkan, satu-satunya cara untuk melakukannya adalah menyalin tabel pivot, dan "menempelkan khusus" sebagai nilai. Anda kemudian dapat mengisi bagian yang kosong dengan teknik seperti ini: http://www.contextures.com/xlDataEntry02.html
sumber
Jika data Anda bukan Excel Pivot Table tetapi hanya data, Anda mungkin ingin "un-pivot" dengan beberapa kode VBA sederhana. Kode tergantung pada dua rentang bernama, Sumber dan Target. Sumber adalah data yang ingin Anda batalkan-pivot (eksklusif header kolom / baris, misalnya NY-RI dalam sampel) dan Target adalah sel pertama tempat Anda ingin menempatkan hasil Anda.
sumber
Saya telah membuat add-in yang memungkinkan Anda melakukan itu, dan itu membuatnya mudah untuk beradaptasi dengan situasi yang berbeda. Lihat di sini: http://tduhameau.wordpress.com/2012/09/24/the-unpivot-add-in/
sumber
Ada solusi yang cukup bagus di excel 2010, hanya perlu bermain sedikit dengan tabel pivot.
Buat tabel pivot dari data Anda dengan pengaturan ini:
sumber
Yang terbaik yang saya buat sejauh ini adalah ini:
Ini berfungsi, tetapi saya harus membuat Id dan LocNum secara manual. Jika ada solusi yang lebih otomatis (selain menulis makro), beri tahu saya jawaban yang terpisah.
sumber
Jika dimensi data Anda seperti dalam sampel yang disediakan dalam pertanyaan Anda, maka kumpulan formula berikut yang menggunakan OFFSET akan memberi Anda hasil yang Anda inginkan:
Asumsi
berada di kisaran A2: E3, lalu masuk
di F2, katakanlah, dan
di G2, katakan, dan
dalam H2, katakanlah.
Kemudian salin formula ini sejauh yang diperlukan.
Ini adalah solusi formula termudah, murni, bawaan yang dapat saya pikirkan.
sumber
Anda sepertinya mendapatkan kolom "loc" (dibuktikan dengan jawaban pertama Anda), dan sekarang Anda perlu bantuan untuk mendapatkan dua kolom lainnya.
Opsi pertama Anda adalah cukup mengetik beberapa baris pertama (katakanlah, 12) ke dalam kolom tersebut dan seret ke bawah - Saya pikir Excel melakukan hal yang benar dalam kasus ini (saya tidak memiliki excel di komputer ini untuk mengujinya dengan pasti).
Jika itu tidak berhasil, atau jika Anda menginginkan sesuatu yang lebih programmer-y, coba gunakan fungsi baris (). Sesuatu seperti "= Lantai (baris () / 4)" untuk kolom ID dan "= mod (baris (), 4) +1" untuk kolom LocNum.
sumber
Ada utilitas konversi VBA parametrik untuk melepaskan atau membalikkan data yang diputar kembali ke tabel database, silakan lihat
http://www.spreadsheet1.com/unpivot-data.html
sumber
Berikut ini adalah alat yang bagus untuk membuka kunci, menormalkan Tabel Pivot.
Normalisieren von Pivot Tabellen
Saya harap ini membantu.
sumber
@DaveParillo menjawab adalah jawaban terbaik untuk tabel tab tunggal. Saya ingin menambahkan beberapa tambahan di sini.
Untuk Banyak kolom sebelum kolom tidakivot
Metode ini tidak berfungsi.
Youtube unpivot data sederhana seperti pertanyaan
Ini adalah video youtube yang menunjukkan cara melakukannya dengan cara yang sederhana. Saya melewatkan bagian tentang menambahkan pintasan dan menggunakan pintasan @evuxer yang ada dalam jawaban DaveParillo.
https://www.youtube.com/watch?v=pUXJLzqlEPk
sumber
Jauh lebih sederhana dari ini. Cukup klik opsi "Transpose" di "Tempel Spesial ..." untuk mendapatkan transposisi yang Anda minta.
sumber