Chuyển cột thành hàng theo điều kiện

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

anhkhang.ak1122

Thành viên mới
Tham gia
24/5/23
Bài viết
26
Được thích
4
Em chào các bác
Hôm trước có 1 bạn nào cũng hỏi bài : "Chuyển cột thành hàng". Nhưng bạn đó dùng công thức Excel 365, máy em Excel 2016 nên không có hàm đó. Các bác xem công thức Excel 2016 hoặc code VBA giúp em với. File Excel em ghim bên dưới. Em cảm ơn.
 

File đính kèm

Công thức có thể làm được nhưng "Khách hàng" phải nhập theo tuần tự POLO trước, LEVIS sau theo mã PO.
 
Chuyển thì không khó, nhưng bạn cần giải thích tại sao từ bảng 1 sang bảng 2, lại nằm vị trí như vậy?
Vd:
POLO
4 dòng trắng, Dòng 5 chứa 1 dòng POLO tại cột 1
Dòng 6 trắng, dòng 7 chứa 3 dòng POLO
Trong khi bên LEVIS lại khác hoàn toàn
Lý do sắp xếp như vậy?
Hay xếp ngẫu nhiên, miển sao chuyển đủ POLO cho bên trái, LEVIS cho bên phải.
 
Chuyển thì không khó, nhưng bạn cần giải thích tại sao từ bảng 1 sang bảng 2, lại nằm vị trí như vậy?
Vd:
POLO
4 dòng trắng, Dòng 5 chứa 1 dòng POLO tại cột 1
Dòng 6 trắng, dòng 7 chứa 3 dòng POLO
Trong khi bên LEVIS lại khác hoàn toàn
Lý do sắp xếp như vậy?
Hay xếp ngẫu nhiên, miển sao chuyển đủ POLO cho bên trái, LEVIS cho bên phải.
- Dạ bên POLO chỉ khách hàng POLO thì dữ liệu sẽ có, 4 dòng trống tương ứng mã PO 4 dòng A đó bác. Khi bên POLO không có mã PO loại A thì nó chuyển hết sang hàng ngang bên LEVIS mà.
- Mã PO loại B cũng vậy nó có 2 dòng, bên POLO chỉ có 1 thui nên chỉ có 1 hàng, 1 hàng sẽ là bên LEVIS
- Tiếp tục đến PO loại C, có 4 dòng. 3 dòng đầu của POLO nên sẽ tương ứng bên POLO mà 3 hàng liên tiếp nhau, 1 hàng LEVIS chuyển sang bên của LEVIS
- Mã PO hàng nào thì các hàng tương ứng sẽ cùng hàng vói nó.
Bài đã được tự động gộp:

Công thức có thể làm được nhưng "Khách hàng" phải nhập theo tuần tự POLO trước, LEVIS sau theo mã PO.
Đầu vào nhập lần lượt POLO trước, LEVIS sau. Nếu không có POLO sẽ là tất cả LEVIS
 
Nếu "Khách hàng" nhập theo tuần tự POLO trước, LEVIS sau theo mã PO :
Mã:
G3=IF($B3="LEVIS","",IF(COUNTIF($A$3:$A$12,$A3)<INT(COLUMN(D$1)/4),"",IF((COLUMN()-6)>4*COUNTIFS($A$3:$A$12,$A3,$B$3:$B$12,$B3),"",IF($A2=$A3,"",INDEX($B$3:$E$12,INT(COLUMN(D$1)/4)+ROW($A1)-1,MOD(COLUMN()+1,4)+1)))))
Mã:
W3=IF($A3=$A2,"",IF((COUNTIF($G3:$V3,$B3)+COUNTA($B$3:$B3)+INT(COLUMN(D$1)/4)-1)>(COUNTIF($A$3:$A$12,$A3)+COUNTA($A$3:$A3)-1),"",INDEX($B$3:$E$12,COUNTIF($G3:$V3,$B3)+COUNTA($B$3:$B3)+INT(COLUMN(D$1)/4)-1,MOD(COLUMN()+1,4)+1)))
 
Nếu "Khách hàng" nhập theo tuần tự POLO trước, LEVIS sau theo mã PO :
Mã:
G3=IF($B3="LEVIS","",IF(COUNTIF($A$3:$A$12,$A3)<INT(COLUMN(D$1)/4),"",IF((COLUMN()-6)>4*COUNTIFS($A$3:$A$12,$A3,$B$3:$B$12,$B3),"",IF($A2=$A3,"",INDEX($B$3:$E$12,INT(COLUMN(D$1)/4)+ROW($A1)-1,MOD(COLUMN()+1,4)+1)))))
Mã:
W3=IF($A3=$A2,"",IF((COUNTIF($G3:$V3,$B3)+COUNTA($B$3:$B3)+INT(COLUMN(D$1)/4)-1)>(COUNTIF($A$3:$A$12,$A3)+COUNTA($A$3:$A3)-1),"",INDEX($B$3:$E$12,COUNTIF($G3:$V3,$B3)+COUNTA($B$3:$B3)+INT(COLUMN(D$1)/4)-1,MOD(COLUMN()+1,4)+1)))
Cảm ơn bác đúng rồi ạ. Công thức em nhìn chẳng hiểu gì luôn. Hàm INT, hàm MOD liên tục.
 
Web KT

Bài viết mới nhất

Back
Top Bottom