TAKE
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างคำนวณด้วย LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ
TAKE คืออะไร
ดึงจำนวนแถวหรือคอลัมน์ที่ต้องการจากต้นหรือท้ายของตาราง ใช้ทำ Top 3 หรือดูรายการล่าสุด
ใช้เมื่อไหร่
- ทำรายงาน Top 3 หรือ Top 10 ที่อัปเดตเองเมื่อยอดเปลี่ยน
- ดูรายการล่าสุด 3–5 รายการจากตารางที่เรียงตามวันที่
- ตัดผลลัพธ์ของ SORT หรือ FILTER ให้เหลือเฉพาะแถวหรือคอลัมน์ที่ต้องการ
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| array | จำเป็น | ช่วงหรือ array ที่ต้องการดึงแถวหรือคอลัมน์ |
| rows | จำเป็น | จำนวนแถว ค่าบวกนับจากบน ค่าติดลบนับจากท้าย (เว้นว่างได้เมื่อใส่ columns) |
| [columns] | ไม่บังคับ | จำนวนคอลัมน์ ค่าบวกนับจากซ้าย ค่าติดลบนับจากขวา ถ้าไม่ใส่ได้ทุกคอลัมน์ |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
SORT เรียงทั้งตารางตามยอดสุทธิจากมากไปน้อยก่อน แล้ว TAKE เอาเฉพาะจำนวนแถวแรกตาม I4
| แถว | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 4 | เลขที่คำสั่งซื้อ | วันที่ | พนักงานขาย | ยอดสุทธิ (บาท) | ||
| 5 | SF-2025-0734 | 1/12/2025 | สุภาพร หงษ์ทอง | 355,320 | ||
| 6 | SF-2025-0738 | 2/12/2025 | กมลชนก พงษ์พานิช | 1,235,098 | ||
| 7 | SF-2025-0739 | 3/12/2025 | นันทิดา กิจเจริญ | 22,878 | ||
| 8 | SF-2025-0741 | 4/12/2025 | นันทิดา กิจเจริญ | 298,740 | ||
| 9 | SF-2025-0744 | 6/12/2025 | สุภาพร หงษ์ทอง | 269,705 | ||
| 10 | SF-2025-0750 | 8/12/2025 | กมลชนก พงษ์พานิช | 522,200 | ||
| 11 | SF-2025-0756 | 9/12/2025 | สุภาพร หงษ์ทอง | 1,057,572 | ||
| 12 | SF-2025-0760 | 11/12/2025 | กมลชนก พงษ์พานิช | 1,049,152 | ||
| 13 | SF-2025-0774 | 15/12/2025 | นันทิดา กิจเจริญ | 334,720 | ||
| 14 | SF-2025-0784 | 19/12/2025 | กมลชนก พงษ์พานิช | 289,275 | ||
| 15 | ผลลัพธ์จากสูตรในช่อง A17 · spill ลงมาเอง | |||||
| 16 | เลขที่คำสั่งซื้อ | วันที่ | พนักงานขาย | ยอดสุทธิ (บาท) | ||
| 17 | SF-2025-0738 | 2/12/2025 | กมลชนก พงษ์พานิช | 1,235,098 | ||
| 18 | SF-2025-0756 | 9/12/2025 | สุภาพร หงษ์ทอง | 1,057,572 | ||
| 19 | SF-2025-0760 | 11/12/2025 | กมลชนก พงษ์พานิช | 1,049,152 | ||
| 20 | ||||||
| 21 | ||||||
| 22 | ||||||
| 23 | ||||||
| 24 | ||||||
ขั้นตอนการคำนวณ (5)
- อ่านสูตร: SORT(A5:D14,4,-1) เรียงตามคอลัมน์ที่ 4 (ยอดสุทธิ) จากมากไปน้อย แล้ว TAKE(…,3) เอา 3 แถวแรก
- เลือก I4 เป็น 5 จะได้ Top 5 ผลลัพธ์ยืดลงมาเอง
- ต้องเรียงก่อนแล้วค่อย TAKE ถ้าสลับกัน จะได้แค่ 3 แถวแรกของตารางเดิมมาเรียง ไม่ใช่ 3 ยอดสูงสุด
ตัวอย่างทั้งหมด 4 แบบ
- 1Top 3 คำสั่งซื้อยอดสูงสุด · SORT เรียงทั้งตารางตามยอดสุทธิจากมากไปน้อยก่อน แล้ว TAKE เอาเฉพาะจำนวนแถวแรกตาม I4
- 23 คำสั่งซื้อล่าสุดด้วย rows ติดลบ · ตารางเรียงตามวันที่จากเก่าไปใหม่ แถวท้ายสุดจึงเป็นรายการล่าสุด rows ติดลบนับจากท้ายตาราง
- 3เลือกแถวและคอลัมน์พร้อมกัน · ทำประกาศรางวัลบริการยอดเยี่ยม: SORT เรียงตามคะแนนลูกค้า แล้ว TAKE(…,I4,2) เอาแถวแรกตาม I4 และแค่ 2 คอลัมน์แรก คือชื่อกับภูมิภาค
- 43 คำสั่งซื้อล่าสุดของพนักงานที่เลือก · FILTER ดึงเฉพาะคำสั่งซื้อของพนักงานใน I4 แล้ว TAKE(…,-3) เอา 3 รายการท้ายสุด
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| TAKE |
ใช้ Excel 2016, 2019 หรือ 2021 ให้ใช้สูตรเหล่านี้แทน ได้ผลเท่ากับตัวอย่างที่ระบุ และมีในชีต “Excel 2016-2021” ของไฟล์ฝึก ต่างจาก TAKE ตรงที่ผลลัพธ์ไม่ spill เอง ต้องลากสูตรลงให้พอกับจำนวนรายการ (ไม่ต้องกด Ctrl + Shift + Enter)
| แทนตัวอย่าง | สูตรทางเลือก |
|---|---|
| ตัวอย่าง 1 ยอด Top 3 | =LARGE($D$5:$D$14,ROWS($A$5:A5)) แล้วลากลง 3 แถว |
| ตัวอย่าง 1 เลขที่คำสั่งซื้อของยอดนั้น | =INDEX($A$5:$A$14,MATCH(H5,$D$5:$D$14,0)) |
| ตัวอย่าง 2 3 รายการล่าสุด | =INDEX($A$5:$A$14,ROWS($A$5:$A$14)-3+ROWS($A$5:A5)) แล้วลากลง 3 แถว |
เลือกวิธีให้ถูกงาน
| วิธี | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| TAKE | เอาจำนวนแถวหรือคอลัมน์จากต้นหรือท้าย (2024 ขึ้นไป) | =TAKE(SORT(A5:D14,4,-1),3) |
| LARGE + INDEX/MATCH | Top N ได้ทุกเวอร์ชัน (ลากสูตรลง) | =LARGE($D$5:$D$14,ROWS($A$5:A5)) |
| FILTER | เลือกแถวตามเงื่อนไข ไม่ใช่ตามตำแหน่ง | =FILTER(A5:D14,D5:D14>=1000000) |
| XLOOKUP ค้นจากล่างขึ้นบน | ต้องการแค่รายการล่าสุดรายการเดียว | =XLOOKUP(I4,C5:C14,A5:A14,,0,-1) |
ใน Power BI ใช้อะไร
ไฟล์ฝึก TAKE
9Expert-TAKE-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1เลขที่ 2 คำสั่งซื้อสุดท้ายในตาราง
- ข้อ 2ยอดสุทธิ 3 อันดับสูงสุด เรียงจากมากไปน้อย
- ข้อ 3ชื่อพนักงานขายของ 3 คำสั่งซื้อที่ยอดสูงสุด
- ข้อ 4ยอดสุทธิที่ต่ำที่สุด 2 รายการ เรียงจากน้อยไปมาก
- ข้อ 5ผลรวมยอดสุทธิของ 3 อันดับสูงสุด
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. =TAKE(A5:D14,-3) ได้อะไร
rows ติดลบนับจากท้าย ได้ 3 แถวสุดท้ายโดยยังเรียงตามลำดับเดิม
2. ทำ Top 3 ยอดสุทธิ (คอลัมน์ที่ 4) ต้องเขียนแบบใด
ต้องเรียงจากมากไปน้อยก่อน แล้วค่อยเอา 3 แถวแรก
3. =TAKE(A5:D14,0) ได้อะไร
Microsoft ระบุว่าถ้า rows หรือ columns เป็น 0 จะได้ #CALC! เพราะเป็น array ว่าง
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)