Ubah satu baris menjadi beberapa baris di Excel

4

Saya memiliki beberapa item yang tersedia di beberapa pusat distribusi (yaitu, hubungan banyak ke banyak). Saat ini ada satu baris per item, dengan satu kolom untuk setiap pusat distribusi. Sel di baris untuk item  X dan kolom untuk pusat distribusi  Y ditandai dengan kode untuk pusat distribusi Y jika item  X tersedia di sana dan kosongkan sebaliknya. Item dengan beberapa pusat distribusi akan memiliki beberapa kode pusat distribusi (di kolomnya masing-masing). Jadi lembar saat ini terlihat seperti:

    |   A    |         B         |*|                      S-AJ                      |
1   |  ID #  |   Description     |…|              Distribution Centers              |
2   |   17   |   Ginkgo Biloba   |…|      |      |      |      |      |      |  SE  |
3   |   42   |   Ginseng         |…|      |  MP  |  MS  |      |  NW  |      |      |
                     ︙

Kolom Cmelalui Rmengandung atribut item lainnya, seperti kode UPC, biaya, dan harga, yang tidak relevan dengan pertanyaan ini. Lembar aktual saya memiliki 18 pusat distribusi, yang mencakup kolom Smelalui AJ; Saya mengurangi itu untuk mendapatkan contoh agar sesuai dengan jendela Stack Exchange.

Saya perlu memiliki kolom pusat distribusi tunggal, dengan kode distribusi tunggal per baris, dan kemudian menduplikasi baris yang diperlukan untuk item yang saat ini berisi banyak kode. Hasilnya akan terlihat seperti:

    |   A    |         B         |*|   S  |
1   |  ID #  |   Description     |…|  DC  |
2   |   17   |   Ginkgo Biloba   |…|  SE  |
3   |   42   |   Ginseng         |…|  MP  |
4   |   42   |   Ginseng         |…|  MS  |
5   |   42   |   Ginseng         |…|  NW  |
                     ︙

tempat sel A3:R3,, A4:R4dan A5:R5, berisi informasi yang sama.

Satu-satunya cara saya bisa memikirkan melakukan ini, yang akan memakan waktu, adalah dengan menyalin nomor item menjadi beberapa baris; dan di kolom yang memiliki kode distribusi saya akan mengubah kode untuk item yang tersedia di setiap pusat distribusi. Saya akan melakukan ini untuk 900 item. Adakah cara yang lebih mudah untuk melakukan ini?

Mengenakan
sumber
1
Bisakah Anda menambahkan sampel?
Excellll
Ya, contoh seperti apa data itu, dan apa yang Anda usahakan tidak berfungsi.
FreeMan
Dalam hal ini tidak jelas, kami membutuhkan contoh tata letak data yang Anda miliki sekarang dan apa yang ingin Anda selesaikan.
Scott
Di bawah ini adalah contoh kecil dari apa yang ingin saya lakukan. Saya akan melakukan ini untuk 900 item. Lembar saat ini [1]: i.stack.imgur.com/FU0KS.jpg Apa yang ingin saya lakukan. [2]: i.stack.imgur.com/s7uQP.jpg
Don

Jawaban:

4
  1. Buat lembar baru. Salin baris tajuk, lebar kolom, dan formatnya, kecuali jangan salin Kolom T- AJ. Mungkin paling mudah untuk menyalin seluruh lembar, lalu hapus semua baris selain 1 dan pisahkan Kolom S- AJ.
  2. Pertama, kami ingin mereplikasi setiap baris item dari Sheet1menjadi Sheet2 18 kali - satu kali untuk setiap pusat distribusi. Ketik =INDEX(Sheet1!A:A, INT((ROW()-2)/18)+2, 1) & ""di Sheet2!A2INT((ROW()-2)/18)+2memetakan baris 2-19 Sheet2ke baris 2 aktif Sheet1, baris 20-37 aktif Sheet2ke baris 3 Sheet1, dll. & ""Penyebab Excel menampilkan kosong saat merujuk sel kosong masuk Sheet1. Jika tidak ada yang kosong Sheet1, Anda dapat mengabaikannya . Jika Anda tidak menyukai solusi khusus ini, Anda bisa menggunakan salah satu solusi lain dari Display Blank saat Merujuk Sel Kosong di Excel .

    Seret / isi ini ke kanan, ke sel R2.

  3. Masuk =INDEX(Sheet1!$S:$AJ, INT((ROW()-2)/18)+2, MOD(ROW()-2, 18)+1) ke dalam Sheet2!S2. Ini merujuk baris yang sama Sheet1dengan rumus di atas, tetapi Sheet2!S2mendapatkan nilai dari Sheet1!S2, Sheet2!S3mendapatkan nilai dari Sheet1!T2, Sheet2!S4mendapatkan nilai dari Sheet1!U2, dll. Ini akan menampilkan 0s untuk blank.
  4. Pilih seluruh baris A2:S2dan seret / isi untuk mendapatkan semua data Anda. Baris ini harus 18 kali lebih banyak dari yang Anda miliki Sheet1; yaitu, 18 × 900 = 16200.
  5. Salin semua Sheet2dan tempel nilai.
  6. Filter Kolom S. Hanya tampilkan nol. Hapus semua baris (selain baris 1). Hapus filter.

Selesai.

Scott
sumber