DROP จะตัดข้อมูลออกตามจำนวนที่ระบุ ถ้าใส่เลขบวกจะตัดจากจุดเริ่มต้น (บน/ซ้าย) ทิ้งไป ถ้าใส่เลขลบจะตัดจากจุดสิ้นสุด (ล่าง/ขวา) ทิ้งไป ส่วนที่เหลือจะถูกนำมาแสดงผล
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| array | Range/Array | ตารางหรือช่วงข้อมูลต้นฉบับ |
| [rows]ไม่บังคับ | Number | จำนวนแถวที่จะตัดทิ้ง (+ ตัดบน, – ตัดล่าง, 0 หรือไม่ใส่ = ไม่ตัด) |
| [columns]ไม่บังคับ | Number | จำนวนคอลัมน์ที่จะตัดทิ้ง (+ ตัดซ้าย, – ตัดขวา, 0 หรือไม่ใส่ = ไม่ตัด) |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
ฟังก์ชัน DROP ใน Excel ใช้สำหรับ “ทิ้ง” หรือตัดข้อมูลจำนวนแถวหรือคอลัมน์ที่ไม่ต้องการออกไป จากจุดเริ่มต้น (หัว) หรือจุดสิ้นสุด (ท้าย) ของตาราง แล้วคืนค่าข้อมูลส่วนที่เหลือทั้งหมด
นำเข้าข้อมูลที่มี Header และ Total ติดมา ใช้ DROP ตัดออกก่อน SUM/AVERAGE
ตัดคอลัมน์ ID หรือลำดับที่ไม่ต้องการแสดงในกราฟออก
ใช้ DROP ตัดหัว แล้ว TAKE เก็บจำนวนที่ต้องการ ได้ข้อมูลช่วงตรงกลาง
| A | B | C | D | |
|---|---|---|---|---|
| 1 | รหัสสินค้า | ชื่อสินค้า | สถานะ | ราคา |
| 2 | P001 | เมาส์ไร้สาย | ปิด | 590 |
| 3 | P002 | คีย์บอร์ด | เปิด | 1,290 |
| 4 | P003 | จอ 27 นิ้ว | ปิด | 8,900 |
| 5 | P004 | หูฟัง | เปิด | 2,450 |
| 6 | P005 | เว็บแคม | ปิด | 1,750 |
ทุกสูตรด้านล่างอ้างถึงตารางนี้ พิมพ์ตามได้เลย ผลลัพธ์จะตรงกับที่เขียนไว้
A1:D6 คือช่วงที่รวมแถวหัวตาราง (Header) เข้ามาด้วย rows=1 สั่งให้ตัดแถวแรกทิ้งไป เหลือแค่ข้อมูลจริงตั้งแต่ P001 ถึง P005
วิธีนี้สะดวกเวลาเอาข้อมูลจากตารางที่มี Header ไปประมวลผลต่อ โดยไม่อยากให้คำว่า "รหัสสินค้า" "ชื่อสินค้า" ติดมาด้วย
สังเกตว่าผลลัพธ์เหมือนกับถ้าเราอ้างอิง A2:D6 ตรงๆ เลย แค่ DROP ทำให้ไม่ต้องรู้ล่วงหน้าว่า Header อยู่กี่แถว
rows=-2 สั่งให้ตัดข้อมูล 2 แถวสุดท้ายทิ้งไป เหลือแค่ 3 แถวแรกคือ P001 P002 P003
เหมาะกับสถานการณ์ที่แถวท้ายๆ ของตารางเป็นข้อมูลที่ไม่ต้องการ เช่น แถวสรุปยอดรวมที่แปะต่อท้ายข้อมูลจริง
เลขลบใน DROP หมายถึงนับจากท้ายตารางขึ้นมา ต่างจาก TAKE ตรงที่ DROP คือทิ้งแถวเหล่านั้น ไม่ใช่เก็บไว้
เว้นว่างอาร์กิวเมนต์ rows ไว้ (ไม่ตัดแถว) แล้วระบุ columns=1 เพื่อตัดคอลัมน์แรกคือรหัสสินค้าทิ้งไป
ผลลัพธ์เลยเหลือแค่ชื่อสินค้า สถานะ และราคา ครบทั้ง 5 แถว แต่ไม่มีรหัสสินค้าติดมาด้วย
ใช้ท่านี้เวลาต้องการซ่อนคอลัมน์ ID ที่ผู้อ่านรายงานไม่จำเป็นต้องเห็น แต่ยังอยากให้ข้อมูลอื่นครบ
DROP ชั้นในตัดแถวหัวตาราง (A1:D6 ตัดแถว 1 เหลือ A2:D6) ก่อน แล้ว DROP ชั้นนอกตัดแถวสุดท้ายออกอีกที (ตัด P005 ออก)
ผลลัพธ์เลยเหลือ P001 ถึง P004 เท่านั้น ตัดทั้งหัวตารางและแถวสุดท้ายออกพร้อมกันในสูตรเดียว
ซ้อน DROP สองชั้นแบบนี้สะดวกกว่าการนับเองว่าต้องอ้างอิงตั้งแต่แถวไหนถึงแถวไหน โดยเฉพาะถ้าตารางมีขนาดเปลี่ยนไปเรื่อยๆ
DROP(A2:D6, 1) ตัดแถวแรก (P001) ทิ้งไปก่อน เหลือ P002 ถึง P005 แล้ว TAKE ดึงมาแค่ 2 แถวแรกของสิ่งที่เหลือ
ผลลัพธ์เลยได้ P002 กับ P003 ซึ่งเป็นแถวที่ 2 และ 3 ของตารางต้นฉบับพอดี ไม่ใช่แถวแรกและไม่ใช่แถวสุดท้าย
รูปแบบ TAKE(DROP(…)) นี้ใช้เลือกข้อมูลตรงกลางของตารางได้ โดยกำหนดว่าจะข้ามกี่แถวก่อน แล้วเก็บกี่แถวถัดไป
ตัดพร้อมกันสองมิติ rows=1 ตัดแถวหัวตารางทิ้ง columns=1 ตัดคอลัมน์รหัสสินค้าทิ้ง ในสูตรเดียว
ผลลัพธ์เลยเหลือแค่ข้อมูลชื่อสินค้า สถานะ และราคา ของทั้ง 5 รายการ ไม่มีทั้ง Header และคอลัมน์รหัสติดมา
ไม่ต้องซ้อน DROP สองชั้นเหมือนตัวอย่างก่อนหน้าก็ได้ผลลัพธ์แบบเดียวกัน เพราะ DROP รับทั้ง rows และ columns พร้อมกันในสูตรเดียวอยู่แล้ว
DROP คือ "ทิ้ง" ส่วน TAKE คือ "เก็บ" เช่น DROP(Data, 1) ทิ้งแถว 1 (เหลือ 2-10) แต่ TAKE(Data, 1) เก็บแถว 1 (ทิ้ง 2-10)
จะได้ #CALC! error (Empty Array) เช่น มี 5 แถว แต่สั่ง DROP(Data, 6)
ได้ 0 หรือเว้นว่างหมายถึงไม่ตัดแถว/คอลัมน์นั้น
ได้ เช่น DROP(Table1, 0, 1) ตัดคอลัมน์แรกของ Table ออก
Excel 365 และ Excel 2021 ขึ้นไปเท่านั้น (Dynamic Array function)
ฟังก์ชันที่ผู้เขียนโยงไว้กับ DROP จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
CHOOSECOLS ใช้ดึงคอลัมน์ที่ต้องการจากตารางหรือ Array โดยระบุเลขลำดับคอลัมน์ สามารถดึงได้หลายคอลัมน์พร้อมกัน จัดลำดับใหม่ หรือทำซ้ำคอลัมน์เดิมได้ รองรับการนับคอลัมน์จากขวาสุดโดยใช้เลขลบ (เช่น -1 คือคอลัมน์ขวาสุด)
CHOOSEROWS ใช้ดึงแถวที่ต้องการจากตารางหรือ Array โดยระบุเลขลำดับแถว สามารถดึงได้หลายแถวพร้อมกัน จัดลำดับใหม่ หรือทำซ้ำแถวเดิมได้ รองรับการนับแถวจากล่างขึ้นบนโดยใช้เลขลบ (เช่น -1 คือแถวสุดท้าย)
EXPAND ใช้ขยายขนาดของตารางข้อมูลให้ใหญ่ขึ้นตามจำนวนแถวหรือคอลัมน์ที่ระบุ หากตารางเดิมมีขนาดเล็กกว่า ส่วนที่เพิ่มขึ้นมาจะแสดงค่าเป็น #N/A (ค่าเริ่มต้น) หรือค่าที่เรากำหนดเองได้ (pad_with) มีประโยชน์มากในการปรับขนาดข้อมูลให้เท่ากันก่อนนำไปรวมด้วย VSTACK หรือ HSTACK
FILTER กรองข้อมูลจาก Array ตามเงื่อนไขที่กำหนด แล้ว return เป็น Spill Range ที่ขยายอัตโนมัติ เป็น Dynamic Array Function ที่เปลี่ยนวิธีการทำงานกับข้อมูลใน Excel รองรับเงื่อนไขหลายตัว (AND/OR) และสามารถใช้ร่วมกับ SORT UNIQUE XLOOKUP เพื่อสร้างรายงานที่อัปเดตอัตโนมัติ
SORT เป็น Dynamic Array Function ที่เรียงลำดับข้อมูลจาก Array แล้ว return เป็น Spill Range ใหม่โดยไม่แก้ไขข้อมูลต้นฉบับ รองรับการเรียงตามคอลัมน์ที่ต้องการ (sort_index) ทั้งจากน้อยไปมาก (1) และมากไปน้อย (-1) รวมถึงเรียงแนวนอน (by_col=TRUE) ต่างจาก SORTBY ที่ใช้คอลัมน์ภายนอกเป็นเกณฑ์
SORTBY เรียงลำดับข้อมูลตาม Array อื่นที่กำหนด รองรับหลายระดับการเรียง (multi-level) และสามารถกำหนดลำดับเอง (custom sort order) ด้วย XMATCH ต่างจาก SORT ที่เรียงตามคอลัมน์ภายในตัวเอง SORTBY ใช้คอลัมน์ภายนอกเป็นเกณฑ์ได้
TAKE ช่วยตัดข้อมูลบางส่วนออกมาใช้งาน โดยระบุจำนวนที่ต้องการ ถ้าใส่เลขบวกจะดึงจากจุดเริ่มต้น (บน/ซ้าย) ถ้าใส่เลขลบจะดึงจากจุดสิ้นสุด (ล่าง/ขวา) คล้ายกับคำสั่ง LIMIT หรือ TOP/BOTTOM ใน Database
UNIQUE เป็น Dynamic Array Function ที่คืนค่าที่ไม่ซ้ำจาก Array โดยสามารถตรวจซ้ำตามแถวหรือคอลัมน์ (by_col) และเลือกคืนเฉพาะค่าที่พบครั้งเดียว (exactly_once) ผลลัพธ์เป็น Spill Range ที่อัปเดตอัตโนมัติ ใช้ร่วมกับ SORT FILTER COUNTIF เพื่อสร้างรายงานไดนามิกและ dropdown ที่อัปเดตเอง
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่