Hỏi cách chuyển từ bảng dọc sang bảng ngang

Liên hệ QC

nghiank09

Thành viên hoạt động
Tham gia
1/3/12
Bài viết
143
Được thích
30
Chào mọi người, mình có bảng dọc ở sheet NhapLieu (bảng này có 120 dòng (A1:B120)). Không biết mình sẽ dùng công thức nào để biến đổi sang bảng ngang ở sheet KetQua ạ. Mong mọi người hỗ trợ. Cám ơn mọi người rất nhiều ạ.

Untitled.png
 

File đính kèm

  • Template.xls
    80 KB · Đọc: 18
Chào mọi người, mình có bảng dọc ở sheet NhapLieu (bảng này có 120 dòng (A1:B120)). Không biết mình sẽ dùng công thức nào để biến đổi sang bảng ngang ở sheet KetQua ạ. Mong mọi người hỗ trợ. Cám ơn mọi người rất nhiều ạ.

View attachment 257484
Như vậy thì công thức làm gì nhỉ? Copy rồi Paste Special chọn - Formulas - Transpose là xong
 
thử thế này xem sao tại A2, kéo cho cả bảng
Mã:
=IFERROR(INDEX(NhapLieu!$B$1:$B$200;AGGREGATE(15;6;ROW($A$1:$A$1000)/(NhapLieu!$A$1:$A$200=A$1);ROW(A1)));"")
Em thử của anh thì nó ra 0 không hà:
1619074268203.png
Như vậy thì công thức làm gì nhỉ? Copy rồi Paste Special chọn - Formulas - Transpose là xong
Còn Transpose thì nó hơi khác so với nhu cầu của thớt á anh:
1619074380599.png
 
Tại dòng A1 chưa có nó là tên cột mà, trong file có sẵn tên cột rồi mà, tên cột cần cóp ra trước
À, em làm được rồi. Cái chỗ Aggregate Small em chưa hiểu khúc lập điều kiện để tạo mảng tham chiếu rồi lấy giá trị nhỏ thứ Row(A1) á anh. Là sao em chưa hiểu, khúc này nè:
Mã:
AGGREGATE(15;6;ROW($A$1:$A$1000)/(NhapLieu!$A$1:$A$200=A$1);ROW(A1))
Để hiểu công thức, em F9 thì nó ra vắn tắt quá, còn em dùng Evaluate Formula thì lại... dài quá chừng, hi.

Tái bút: chỗ điều kiện sao lại là dấu chia anh? Em đổi thành dấu nhân nó ra sai bét, hi. :D
 
Là sao em chưa hiểu, khúc này nè:
Có gì đâu công thức index thì rõ rồi nhé, còn đoạn AGGREGATE thì đoạn ROW($A$1:$A$1000) là giá trị 1;2;3;4....1000 chia cho điều kiện đúng là 1 sai là 0; ví dụ rút xuống 20 dòng cho dễ nhìn thì đoạn đấy ra là {1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;13;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!} có 2 dòng đúng là 1 và 13 lấy giá trị nhỏ nhất là 1, dòng tiếp theo giá trị nhỏ thứ 2 là 13
 
Hôm rồi vừa chỉ xong lại trả hết rồi :wallbash:

Có gì đâu công thức index thì rõ rồi nhé, còn đoạn AGGREGATE thì đoạn ROW($A$1:$A$1000) là giá trị 1;2;3;4....1000 chia cho điều kiện đúng là 1 sai là 0; ví dụ rút xuống 20 dòng cho dễ nhìn thì đoạn đấy ra là {1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;13;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!} có 2 dòng đúng là 1 và 13 lấy giá trị nhỏ nhất là 1, dòng tiếp theo giá trị nhỏ thứ 2 là 13
Mấy cái này sao nghe giải thích cái hiểu liền mà mai mốt gặp lại bài toán phải giải bằng kiểu này thì lại không ứng dụng vào giải được. Không hiểu nổi luôn. :( :D :(

Cảm ơn 2 anh đã nhiệt tình giải thích dùm, hi.
 

File đính kèm

  • Template.xls
    93 KB · Đọc: 14
@nghiank09
Thêm 1 cách tham khảo
Mã:
A1=INDEX(NhapLieu!$A$1:$B$36,COLUMN()+(ROW()>1)*(ROWS($A$1:A1)-2)*12,(ROW()>1)+1)
Dòng 1 và các dòng còn lại có tính chất khác nhau, tạo 2 công thức khác nhau sẽ hợp lý hơn
Tốt nhất chỉ dùng công thức từ dòng 2, dòng 1 copy từ sheet Nhập Liệu
 
Mình cám ơn các bạn đã hỗ trợ ạ. Chúc các bạn một ngày tốt lành.
 
Web KT
Back
Top Bottom