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 C
melalui R
mengandung 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 S
melalui 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:R4
dan 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?
sumber
Jawaban:
T
-AJ
. Mungkin paling mudah untuk menyalin seluruh lembar, lalu hapus semua baris selain 1 dan pisahkan KolomS
-AJ
.Pertama, kami ingin mereplikasi setiap baris item dari
Sheet1
menjadiSheet2
18 kali - satu kali untuk setiap pusat distribusi. Ketik=INDEX(Sheet1!A:A, INT((ROW()-2)/18)+2, 1) & ""
diSheet2!A2
.INT((ROW()-2)/18)+2
memetakan baris 2-19Sheet2
ke baris 2 aktifSheet1
, baris 20-37 aktifSheet2
ke baris 3Sheet1
, dll.& ""
Penyebab Excel menampilkan kosong saat merujuk sel kosong masukSheet1
. Jika tidak ada yang kosongSheet1
, 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
.=INDEX(Sheet1!$S:$AJ, INT((ROW()-2)/18)+2, MOD(ROW()-2, 18)+1)
ke dalamSheet2!S2
. Ini merujuk baris yang samaSheet1
dengan rumus di atas, tetapiSheet2!S2
mendapatkan nilai dariSheet1!S2
,Sheet2!S3
mendapatkan nilai dariSheet1!T2
,Sheet2!S4
mendapatkan nilai dariSheet1!U2
, dll. Ini akan menampilkan0
s untuk blank.A2:S2
dan seret / isi untuk mendapatkan semua data Anda. Baris ini harus 18 kali lebih banyak dari yang Anda milikiSheet1
; yaitu, 18 × 900 = 16200.Sheet2
dan tempel nilai.S
. Hanya tampilkan nol. Hapus semua baris (selain baris 1). Hapus filter.Selesai.
sumber