Công thức Excel: XLOOKUP sắp xếp lại các cột
Công thức Excel: XLOOKUP sắp xếp lại các cột

Công thức chung
=XLOOKUP(neworder,oldorder,XLOOKUP(val,lookup,results))
Tóm lược

XLOOKUP có thể được sử dụng để sắp xếp lại các cột, bằng cách lồng một XLOOKUP vào bên trong một XLOOKUP khác. Trong ví dụ được hiển thị, Công thức trong G9 là:

=XLOOKUP(G8:J8,B4:E4,XLOOKUP(G5,E5:E15,B5:E15))

Giá trị này trả về giá trị khớp trong G5, với tất cả 4 trường trong một trình tự khác nhau.

Giải trình

Công thức này sử dụng XLOOKUP hai lần, bằng cách làm tổ một XLOOKUP bên trong một XLOOKUP khác. XLOOKUP đầu tiên (bên trong) được sử dụng để thực hiện tra cứu đối sánh chính xác về giá trị trong G5:

XLOOKUP(G5,E5:E15,B5:E15)
  • Các lookup_value đến từ ô G5
  • Các lookup_array là E5: E15 (mã)
  • Các return_array là B5: E15 (tất cả các trường)
  • Các match_mode không được cung cấp và mặc định là 1 (đối sánh chính xác)
  • Các search_mode không được cung cấp và mặc định là 1 (đầu tiên đến cuối cùng)

Kết quả là một kết quả phù hợp trên “AX-160”, được trả về dưới dạng một mảng của tất cả bốn trường theo thứ tự ban đầu:

{160,130,60,"AX-160"}

Kết quả này được gửi trực tiếp đến XLOOKUP thứ hai (bên ngoài) làm đối số mảng trả về. Giá trị tra cứu được cung cấp dưới dạng một phạm vi đại diện cho Mới thứ tự của các trường và mảng tra cứu là phạm vi chứa nguyên thứ tự tên trường.

=XLOOKUP(G8:J8,B4:E4,{160,130,60,"AX-160"})
  • Các lookup_value là phạm vi G8: J8 (thứ tự trường mới)
  • Các lookup_array là phạm vi B4: E4 (thứ tự trường cũ)
  • Các return_array là kết quả từ XLOOKUP đầu tiên

Đây là một chút khó khăn. Chúng tôi đang chuyển nhiều giá trị tra cứu, vì vậy XLOOKUP nội bộ sẽ tính toán nhiều vị trí khớp. Đối với mỗi giá trị trong phạm vi thứ tự trường mới, XLOOKUP sẽ tìm thấy một vị trí bên trong phạm vi thứ tự trường cũ và sử dụng vị trí này để tìm nạp một giá trị từ mảng trả về (các giá trị được trả về bởi hàm XLOOKUP đầu tiên). Kết quả là kết quả tra cứu ban đầu với các trường được sắp xếp theo thứ tự mới.

https://exceljet.net/formula/xlookup-rearrange-columns