Thep Excel

DROPตัดข้อมูลบางส่วนทิ้ง (หัวหรือท้าย)

DROP จะตัดข้อมูลออกตามจำนวนที่ระบุ ถ้าใส่เลขบวกจะตัดจากจุดเริ่มต้น (บน/ซ้าย) ทิ้งไป ถ้าใส่เลขลบจะตัดจากจุดสิ้นสุด (ล่าง/ขวา) ทิ้งไป ส่วนที่เหลือจะถูกนำมาแสดงผล

fx
=DROP(array, [rows], [columns])

ความนิยม7/10
ความยาก5/10
ประโยชน์8/10

อัปเดต 1 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด คำอธิบาย
array Range/Array ตารางหรือช่วงข้อมูลต้นฉบับ
[rows]ไม่บังคับ Number จำนวนแถวที่จะตัดทิ้ง (+ ตัดบน, – ตัดล่าง, 0 หรือไม่ใส่ = ไม่ตัด)
[columns]ไม่บังคับ Number จำนวนคอลัมน์ที่จะตัดทิ้ง (+ ตัดซ้าย, – ตัดขวา, 0 หรือไม่ใส่ = ไม่ตัด)

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

ฟังก์ชัน DROP ใน Excel ใช้สำหรับ “ทิ้ง” หรือตัดข้อมูลจำนวนแถวหรือคอลัมน์ที่ไม่ต้องการออกไป จากจุดเริ่มต้น (หัว) หรือจุดสิ้นสุด (ท้าย) ของตาราง แล้วคืนค่าข้อมูลส่วนที่เหลือทั้งหมด

How it works

ตัด Header/Footer ก่อนคำนวณ

นำเข้าข้อมูลที่มี Header และ Total ติดมา ใช้ DROP ตัดออกก่อน SUM/AVERAGE

เตรียมข้อมูลสำหรับ Chart

ตัดคอลัมน์ ID หรือลำดับที่ไม่ต้องการแสดงในกราฟออก

จับคู่กับ TAKE เลือกช่วงตรงกลาง

ใช้ DROP ตัดหัว แล้ว TAKE เก็บจำนวนที่ต้องการ ได้ข้อมูลช่วงตรงกลาง

Examples

ตารางสินค้าProductTableA1:D6
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

ทุกสูตรด้านล่างอ้างถึงตารางนี้ พิมพ์ตามได้เลย ผลลัพธ์จะตรงกับที่เขียนไว้

ตัวอย่างที่ 1: ตัดหัวตาราง 1 แถวDROP(A1:D6, 1)

A1:D6 คือช่วงที่รวมแถวหัวตาราง (Header) เข้ามาด้วย rows=1 สั่งให้ตัดแถวแรกทิ้งไป เหลือแค่ข้อมูลจริงตั้งแต่ P001 ถึง P005

วิธีนี้สะดวกเวลาเอาข้อมูลจากตารางที่มี Header ไปประมวลผลต่อ โดยไม่อยากให้คำว่า "รหัสสินค้า" "ชื่อสินค้า" ติดมาด้วย

สังเกตว่าผลลัพธ์เหมือนกับถ้าเราอ้างอิง A2:D6 ตรงๆ เลย แค่ DROP ทำให้ไม่ต้องรู้ล่วงหน้าว่า Header อยู่กี่แถว

fx
=DROP(A1:D6, 1)

ผลลัพธ์P001 | เมาส์ไร้สาย | ปิด | 590 | P002 | คีย์บอร์ด | เปิด | 1290 | P003 | จอ 27 นิ้ว | ปิด | 8900 | P004 | หูฟัง | เปิด | 2450 | P005 | เว็บแคม | ปิด | 1750
ตัวอย่างที่ 2: ตัด 2 แถวสุดท้ายDROP(A2:D6, -2)

rows=-2 สั่งให้ตัดข้อมูล 2 แถวสุดท้ายทิ้งไป เหลือแค่ 3 แถวแรกคือ P001 P002 P003

เหมาะกับสถานการณ์ที่แถวท้ายๆ ของตารางเป็นข้อมูลที่ไม่ต้องการ เช่น แถวสรุปยอดรวมที่แปะต่อท้ายข้อมูลจริง

เลขลบใน DROP หมายถึงนับจากท้ายตารางขึ้นมา ต่างจาก TAKE ตรงที่ DROP คือทิ้งแถวเหล่านั้น ไม่ใช่เก็บไว้

fx
=DROP(A2:D6, -2)

ผลลัพธ์P001 | เมาส์ไร้สาย | ปิด | 590 | P002 | คีย์บอร์ด | เปิด | 1290 | P003 | จอ 27 นิ้ว | ปิด | 8900
ตัวอย่างที่ 3: ตัดคอลัมน์แรก (รหัสสินค้า)DROP(A2:D6, , 1)

เว้นว่างอาร์กิวเมนต์ rows ไว้ (ไม่ตัดแถว) แล้วระบุ columns=1 เพื่อตัดคอลัมน์แรกคือรหัสสินค้าทิ้งไป

ผลลัพธ์เลยเหลือแค่ชื่อสินค้า สถานะ และราคา ครบทั้ง 5 แถว แต่ไม่มีรหัสสินค้าติดมาด้วย

ใช้ท่านี้เวลาต้องการซ่อนคอลัมน์ ID ที่ผู้อ่านรายงานไม่จำเป็นต้องเห็น แต่ยังอยากให้ข้อมูลอื่นครบ

fx
=DROP(A2:D6, , 1)

ผลลัพธ์เมาส์ไร้สาย | ปิด | 590 | คีย์บอร์ด | เปิด | 1290 | จอ 27 นิ้ว | ปิด | 8900 | หูฟัง | เปิด | 2450 | เว็บแคม | ปิด | 1750
ตัวอย่างที่ 4: ตัดทั้งหัวและท้ายDROP(DROP(A1:D6, 1), -1)

DROP ชั้นในตัดแถวหัวตาราง (A1:D6 ตัดแถว 1 เหลือ A2:D6) ก่อน แล้ว DROP ชั้นนอกตัดแถวสุดท้ายออกอีกที (ตัด P005 ออก)

ผลลัพธ์เลยเหลือ P001 ถึง P004 เท่านั้น ตัดทั้งหัวตารางและแถวสุดท้ายออกพร้อมกันในสูตรเดียว

ซ้อน DROP สองชั้นแบบนี้สะดวกกว่าการนับเองว่าต้องอ้างอิงตั้งแต่แถวไหนถึงแถวไหน โดยเฉพาะถ้าตารางมีขนาดเปลี่ยนไปเรื่อยๆ

fx
=DROP(DROP(A1:D6, 1), -1)

ผลลัพธ์P001 | เมาส์ไร้สาย | ปิด | 590 | P002 | คีย์บอร์ด | เปิด | 1290 | P003 | จอ 27 นิ้ว | ปิด | 8900 | P004 | หูฟัง | เปิด | 2450
ตัวอย่างที่ 5: ใช้คู่กับ TAKETAKE(DROP(A2:D6, 1), 2)

DROP(A2:D6, 1) ตัดแถวแรก (P001) ทิ้งไปก่อน เหลือ P002 ถึง P005 แล้ว TAKE ดึงมาแค่ 2 แถวแรกของสิ่งที่เหลือ

ผลลัพธ์เลยได้ P002 กับ P003 ซึ่งเป็นแถวที่ 2 และ 3 ของตารางต้นฉบับพอดี ไม่ใช่แถวแรกและไม่ใช่แถวสุดท้าย

รูปแบบ TAKE(DROP(…)) นี้ใช้เลือกข้อมูลตรงกลางของตารางได้ โดยกำหนดว่าจะข้ามกี่แถวก่อน แล้วเก็บกี่แถวถัดไป

fx
=TAKE(DROP(A2:D6, 1), 2)

ผลลัพธ์P002 | คีย์บอร์ด | เปิด | 1290 | P003 | จอ 27 นิ้ว | ปิด | 8900
ตัวอย่างที่ 6: ตัดทั้งแถวและคอลัมน์DROP(A1:D6, 1, 1)

ตัดพร้อมกันสองมิติ rows=1 ตัดแถวหัวตารางทิ้ง columns=1 ตัดคอลัมน์รหัสสินค้าทิ้ง ในสูตรเดียว

ผลลัพธ์เลยเหลือแค่ข้อมูลชื่อสินค้า สถานะ และราคา ของทั้ง 5 รายการ ไม่มีทั้ง Header และคอลัมน์รหัสติดมา

ไม่ต้องซ้อน DROP สองชั้นเหมือนตัวอย่างก่อนหน้าก็ได้ผลลัพธ์แบบเดียวกัน เพราะ DROP รับทั้ง rows และ columns พร้อมกันในสูตรเดียวอยู่แล้ว

fx
=DROP(A1:D6, 1, 1)

ผลลัพธ์เมาส์ไร้สาย | ปิด | 590 | คีย์บอร์ด | เปิด | 1290 | จอ 27 นิ้ว | ปิด | 8900 | หูฟัง | เปิด | 2450 | เว็บแคม | ปิด | 1750

FAQs

DROP ต่างจาก TAKE อย่างไร?+

DROP คือ "ทิ้ง" ส่วน TAKE คือ "เก็บ" เช่น DROP(Data, 1) ทิ้งแถว 1 (เหลือ 2-10) แต่ TAKE(Data, 1) เก็บแถว 1 (ทิ้ง 2-10)

ถ้าตัดมากกว่าที่มีจะเกิดอะไร?+

จะได้ #CALC! error (Empty Array) เช่น มี 5 แถว แต่สั่ง DROP(Data, 6)

rows หรือ columns เป็น 0 ได้ไหม?+

ได้ 0 หรือเว้นว่างหมายถึงไม่ตัดแถว/คอลัมน์นั้น

ใช้ได้กับ Table ไหม?+

ได้ เช่น DROP(Table1, 0, 1) ตัดคอลัมน์แรกของ Table ออก

DROP รองรับ Excel เวอร์ชันไหน?+

Excel 365 และ Excel 2021 ขึ้นไปเท่านั้น (Dynamic Array function)

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ DROP จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้DROPLookup and reference
Lookup and reference (8)
CHOOSECOLS

CHOOSECOLS ใช้ดึงคอลัมน์ที่ต้องการจากตารางหรือ Array โดยระบุเลขลำดับคอลัมน์ สามารถดึงได้หลายคอลัมน์พร้อมกัน จัดลำดับใหม่ หรือทำซ้ำคอลัมน์เดิมได้ รองรับการนับคอลัมน์จากขวาสุดโดยใช้เลขลบ (เช่น -1 คือคอลัมน์ขวาสุด)

CHOOSEROWS

CHOOSEROWS ใช้ดึงแถวที่ต้องการจากตารางหรือ Array โดยระบุเลขลำดับแถว สามารถดึงได้หลายแถวพร้อมกัน จัดลำดับใหม่ หรือทำซ้ำแถวเดิมได้ รองรับการนับแถวจากล่างขึ้นบนโดยใช้เลขลบ (เช่น -1 คือแถวสุดท้าย)

EXPAND

EXPAND ใช้ขยายขนาดของตารางข้อมูลให้ใหญ่ขึ้นตามจำนวนแถวหรือคอลัมน์ที่ระบุ หากตารางเดิมมีขนาดเล็กกว่า ส่วนที่เพิ่มขึ้นมาจะแสดงค่าเป็น #N/A (ค่าเริ่มต้น) หรือค่าที่เรากำหนดเองได้ (pad_with) มีประโยชน์มากในการปรับขนาดข้อมูลให้เท่ากันก่อนนำไปรวมด้วย VSTACK หรือ HSTACK

FILTER

FILTER กรองข้อมูลจาก Array ตามเงื่อนไขที่กำหนด แล้ว return เป็น Spill Range ที่ขยายอัตโนมัติ เป็น Dynamic Array Function ที่เปลี่ยนวิธีการทำงานกับข้อมูลใน Excel รองรับเงื่อนไขหลายตัว (AND/OR) และสามารถใช้ร่วมกับ SORT UNIQUE XLOOKUP เพื่อสร้างรายงานที่อัปเดตอัตโนมัติ

SORT

SORT เป็น Dynamic Array Function ที่เรียงลำดับข้อมูลจาก Array แล้ว return เป็น Spill Range ใหม่โดยไม่แก้ไขข้อมูลต้นฉบับ รองรับการเรียงตามคอลัมน์ที่ต้องการ (sort_index) ทั้งจากน้อยไปมาก (1) และมากไปน้อย (-1) รวมถึงเรียงแนวนอน (by_col=TRUE) ต่างจาก SORTBY ที่ใช้คอลัมน์ภายนอกเป็นเกณฑ์

SORTBY

SORTBY เรียงลำดับข้อมูลตาม Array อื่นที่กำหนด รองรับหลายระดับการเรียง (multi-level) และสามารถกำหนดลำดับเอง (custom sort order) ด้วย XMATCH ต่างจาก SORT ที่เรียงตามคอลัมน์ภายในตัวเอง SORTBY ใช้คอลัมน์ภายนอกเป็นเกณฑ์ได้

TAKE

TAKE ช่วยตัดข้อมูลบางส่วนออกมาใช้งาน โดยระบุจำนวนที่ต้องการ ถ้าใส่เลขบวกจะดึงจากจุดเริ่มต้น (บน/ซ้าย) ถ้าใส่เลขลบจะดึงจากจุดสิ้นสุด (ล่าง/ขวา) คล้ายกับคำสั่ง LIMIT หรือ TOP/BOTTOM ใน Database

UNIQUE

UNIQUE เป็น Dynamic Array Function ที่คืนค่าที่ไม่ซ้ำจาก Array โดยสามารถตรวจซ้ำตามแถวหรือคอลัมน์ (by_col) และเลือกคืนเฉพาะค่าที่พบครั้งเดียว (exactly_once) ผลลัพธ์เป็น Spill Range ที่อัปเดตอัตโนมัติ ใช้ร่วมกับ SORT FILTER COUNTIF เพื่อสร้างรายงานไดนามิกและ dropdown ที่อัปเดตเอง

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่