หน้าแรก บทความ Microsoft
Microsoft

สูตร UNIQUE ใน Excel ดึงรายการไม่ซ้ำอัตโนมัติแบบไม่ต้องกดปุ่มเอง

เผยแพร่ 13 ส.ค. 69

เคยต้องดึง “รายชื่อที่ไม่ซ้ำ” ออกมาจากตารางยาวๆ ไหมครับ เช่น อยากรู้ว่าปีนี้ครอบครัวซื้อของกี่คน มีใครบ้าง หรืออยากดูว่าใช้จ่ายผ่านร้านค้าไหนบ้างโดยไม่เอาชื่อซ้ำมาเกะกะ ปกติหลายคนจะนึกถึงเมนู Remove Duplicates ทันที แต่จริงๆ แล้ว Excel 365 มีสูตรที่ทำงานได้ยืดหยุ่นกว่านั้นมาก นั่นคือ UNIQUE สูตรเดียวพิมพ์ครั้งเดียว ผลลัพธ์ไหลลงมาเองอัตโนมัติ แถมอัปเดตตามข้อมูลต้นฉบับตลอดเวลา บทความนี้จะพาไปทำความเข้าใจพร้อมตัวอย่างจำลองให้เห็นภาพจริง

UNIQUE คืออะไร ต่างจาก Remove Duplicates ยังไง

UNIQUE เป็นฟังก์ชันกลุ่ม dynamic array ที่เพิ่มเข้ามาใหม่ใน Excel 365 มีหน้าที่ดึงรายการที่ไม่ซ้ำจากช่วงข้อมูลที่กำหนด ออกมาแสดงเป็นชุดใหม่ จุดต่างสำคัญจากเมนู Remove Duplicates ที่หลายคนคุ้นเคยคือ

รายการ Remove Duplicates UNIQUE
วิธีทำงาน เมนูคำสั่ง กดแล้วลบข้อมูลซ้ำทิ้งถาวร สูตร พิมพ์ในเซลล์แล้วคำนวณผลลัพธ์ให้
ผลต่อข้อมูลต้นฉบับ แก้ไข/ลบแถวข้อมูลเดิมออกจริง ไม่แตะข้อมูลต้นฉบับเลย แสดงแยกอีกที่
เมื่อข้อมูลต้นฉบับเปลี่ยน ต้องกดคำสั่งซ้ำใหม่เอง ผลลัพธ์อัปเดตอัตโนมัติทันที

พูดง่ายๆ คือถ้าต้องการ “ล้าง” ข้อมูลซ้ำออกจากตารางจริงถาวร ให้ใช้ Remove Duplicates แต่ถ้าต้องการแค่ “ดู” รายการไม่ซ้ำแยกไว้อีกจุด โดยข้อมูลต้นฉบับยังอยู่ครบเหมือนเดิม UNIQUE คือคำตอบที่เหมาะกว่า

Syntax ของสูตร UNIQUE

รูปแบบสูตรคือ

=UNIQUE(array, [by_col], [exactly_once])

จุดเด่นที่ทำให้ UNIQUE ต่างจากสูตรทั่วไปคือเป็น dynamic array — พิมพ์สูตรแค่เซลล์เดียว แต่ผลลัพธ์จะ “ล้น” (spill) ลงมาเติมเซลล์ว่างด้านล่างเองอัตโนมัติตามจำนวนรายการที่ไม่ซ้ำที่เจอ ไม่ต้องลากคัดลอกสูตรลงมาเองแบบสูตรรุ่นเก่า

ตัวอย่างใช้งานจริง: ดึงรายชื่อสมาชิกครอบครัวที่ไม่ซ้ำจากรายการซื้อของ

สมมติมีตารางบันทึกรายการซื้อของทั้งปีของครอบครัว คอลัมน์ A เป็นชื่อคนซื้อ ซึ่งแต่ละคนซื้อหลายครั้งจึงมีชื่อซ้ำเต็มไปหมด ต้องการดึงมาแค่ว่าครอบครัวนี้มีใครซื้อของบ้าง ไม่เอาชื่อซ้ำ

C2fx=UNIQUE(A2:A8)
A B C
1 ผู้ซื้อ รายการ รายชื่อไม่ซ้ำ
2 แม่ ข้าวสาร แม่
3 พ่อ น้ำมันพืช พ่อ
4 แม่ ผงซักฟอก น้อง
5 น้อง สมุด  
6 พ่อ น้ำมันเครื่อง  
7 แม่ ผลไม้  
8 น้อง ปากกา  

พิมพ์สูตรแค่ที่เซลล์ C2 เซลล์เดียว แต่ผลลัพธ์ “แม่ พ่อ น้อง” ล้นลงมาเติมเซลล์ C3 และ C4 ให้เองโดยอัตโนมัติ (สังเกตกรอบเขียวที่ครอบทั้ง 3 เซลล์) ถ้าวันหลังมีคนในครอบครัวซื้อของเพิ่มเป็นคนที่ 4 ในคอลัมน์ A สูตรนี้จะล้นเพิ่มลงมาอีกแถวให้เองทันที ไม่ต้องแก้สูตรใหม่

ตัวอย่างใช้งานจริง: หาร้านค้าที่ใช้จ่ายแค่ครั้งเดียวด้วย exactly_once

อีกสถานการณ์ที่พบบ่อยคือดูประวัติการใช้จ่ายในบัญชี แล้วอยากรู้ว่ามี “ร้านที่ซื้อครั้งเดียวแล้วไม่ได้กลับไปซื้อซ้ำอีกเลย” บ้าง กรณีนี้ต้องใช้ argument ตัวที่ 3 คือ exactly_once เป็น TRUE

C2fx=UNIQUE(A2:A7,FALSE,TRUE)
A B C
1 ร้านค้า ยอดจ่าย ซื้อครั้งเดียว
2 ร้านกาแฟหน้าปาก 65 ร้านซ่อมมือถือ
3 ร้านกาแฟหน้าปาก 65 ร้านหนังสือ
4 ซูเปอร์มาร์เก็ต 890  
5 ซูเปอร์มาร์เก็ต 1,250  
6 ร้านซ่อมมือถือ 450  
7 ร้านหนังสือ 320  

จากตัวอย่าง “ร้านกาแฟหน้าปาก” และ “ซูเปอร์มาร์เก็ต” ปรากฏมากกว่า 1 ครั้งจึงถูกตัดออกจากผลลัพธ์ ส่วน “ร้านซ่อมมือถือ” กับ “ร้านหนังสือ” ปรากฏแค่ครั้งเดียวเท่านั้นจึงถูกดึงมาแสดง ต่างจากการใส่ FALSE หรือไม่ใส่เลย ซึ่งจะดึงมาทุกร้านแบบไม่ซ้ำ (รวมร้านกาแฟกับซูเปอร์มาร์เก็ตด้วย)

ข้อควรระวังตอนใช้ UNIQUE

สรุป

UNIQUE เหมาะสำหรับใครที่ต้องการดูรายการไม่ซ้ำแบบไม่แตะข้อมูลต้นฉบับ และอยากให้ผลลัพธ์อัปเดตอัตโนมัติทุกครั้งที่ข้อมูลเปลี่ยน ต่างจาก Remove Duplicates ที่เหมาะกับตอนต้องการล้างข้อมูลซ้ำออกถาวร ใครที่เริ่มต้นใช้สูตรใน Excel แนะนำให้อ่านต่อที่ 10 สูตร Excel พื้นฐาน และถ้าสนใจสูตรค้นหาข้อมูลรุ่นใหม่ที่มาพร้อม dynamic array เหมือนกัน ลองดู XLOOKUP ต่างจาก VLOOKUP ยังไง เพิ่มเติมได้เลย

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line