CHOOSECOLS และ CHOOSEROWS ใช้ดึงเฉพาะคอลัมน์หรือแถวที่ต้องการออกมาจากตาราง แล้วจัดเรียงใหม่ได้ตามใจ เหมาะกับการทำรายงานที่อยากได้แค่บางคอลัมน์ ในลำดับที่ต่างจากต้นฉบับ โดยไม่ต้องคัดลอกวางทีละช่อง เป็นสูตรกลุ่มใหม่ใน Microsoft 365 (ผลลัพธ์ล้นออกมาเองแบบ dynamic array)
รูปแบบของสูตร
=CHOOSECOLS(ตาราง, เลขคอลัมน์ที่ 1, [เลขคอลัมน์ที่ 2], ...)
=CHOOSEROWS(ตาราง, เลขแถวที่ 1, [เลขแถวที่ 2], ...)
ใส่เลขติดลบเพื่อนับจากท้าย เช่น -1 คือคอลัมน์/แถวสุดท้าย
ตัวอย่างที่ 1: จัดคอลัมน์ใหม่สำหรับรายงาน
=CHOOSECOLS(A2:D5, 4, 1)| A | B | C | D | F | G | ||
|---|---|---|---|---|---|---|---|
| 1 | ชื่อ | อีเมล | เบอร์ | ทีม | ทีม | ชื่อ | |
| 2 | ก้อง | k@x.com | 081… | ขาย | ขาย | ก้อง | |
| 3 | แนน | n@x.com | 082… | บัญชี | บัญชี | แนน |
ตารางต้นฉบับมี 4 คอลัมน์ สูตรดึงคอลัมน์ที่ 4 (ทีม) มาไว้หน้า แล้วตามด้วยคอลัมน์ที่ 1 (ชื่อ) ผลลัพธ์ล้นเต็มช่วงเอง ถ้าข้อมูลต้นทางเพิ่มแถว ผลลัพธ์ก็ขยายตาม
ตัวอย่างที่ 2: เอา 2 แถวล่าสุด
=CHOOSEROWS(A2:C7, -1, -2)| A | B | E | F | ||
|---|---|---|---|---|---|
| 1 | วันที่ | ยอด | 2 รายการล่าสุด | ||
| 2 | 1 ส.ค. | 500 | 6 ส.ค. | 720 | |
| 3 | 3 ส.ค. | 300 | 5 ส.ค. | 610 | |
-1 คือแถวสุดท้าย -2 คือแถวรองสุดท้าย ใช้ดึงรายการที่เพิ่งบันทึกล่าสุดโดยไม่ต้องรู้ว่ามีทั้งหมดกี่แถว
ตัวอย่างที่ 3: ใช้ร่วมกับ SORT
=CHOOSECOLS(SORT(A2:C10, 3, -1), 1, 3)| A | C | F | G | ||
|---|---|---|---|---|---|
| 1 | สินค้า | ยอดขาย | สินค้า | ยอดขาย | |
| 2 | เมาส์ | 1,200 | คีย์บอร์ด | 3,400 | |
| 3 | คีย์บอร์ด | 3,400 | จอ | 2,100 |
SORT เรียงตามคอลัมน์ที่ 3 จากมากไปน้อยก่อน แล้ว CHOOSECOLS หยิบเฉพาะคอลัมน์ชื่อกับยอดขายมาแสดง ได้ตาราง Top ยอดขายในสูตรเดียว
ข้อควรรู้
- เป็นสูตรของ Microsoft 365 / Excel 2024 — เปิดในเวอร์ชันเก่าจะขึ้น
#NAME? - เลขคอลัมน์/แถวห้ามเป็น 0 หรือเกินขนาดตาราง — จะได้
#VALUE! - ใส่เลขเดิมซ้ำได้ — เช่น
=CHOOSECOLS(A2:D5, 1, 1)จะได้คอลัมน์แรกสองครั้ง - อยากตัดหัว/ท้ายเป็นจำนวน N — ใช้ TAKE และ DROP จะเหมาะกว่า CHOOSEROWS ที่ต้องระบุทีละแถว