Dynamic Arrays — FILTER, SORT, UNIQUE, SEQUENCE

1. เมื่อสูตรหนึ่งตอบได้หลายค่า

บทความก่อนหน้าเราจัดการกับวันที่กันไปแล้ว คราวนี้ผมจะพาคุณมาถึงจุดพลิกโฉมของ Excel ในยุค Microsoft 365 ครับ นั่นคือ Dynamic Arrays หรือที่เรียกกันว่า สูตรแบบไดนามิก

เคยไหมครับ เวลากรองข้อมูลก็ต้องเปิด Filter ทีละคอลัมน์ เวลาหาค่าที่ไม่ซ้ำก็ต้องคัดด้วยมือ หรือเวลาเรียงข้อมูลก็ต้องกด Sort แล้วเสี่ยงทำข้อมูลต้นฉบับเละไปกับมือ ถ้าฟังดูคุ้น นี่แหละคือปัญหาที่ Dynamic Arrays เกิดมาแก้

ก่อนหน้านี้ถ้าเราอยากให้สูตรตอบหลายค่าต้องกด Ctrl+Shift+Enter ให้เป็น Array Formula และผลลัพธ์ต้องวางไว้ให้พอดีล่วงหน้า ถ้าเผลอลากเยอะไปหรือหย่อนไปก็พังทิ้ง หรือถ้าเผลอไปกดตรงกลางก็แก้ยาก ยุคของ Dynamic Arrays ต่างออกไปสิ้นเชิง เพราะคุณแค่เขียนสูตรหนึ่งครั้ง แล้ว Excel จัดการเรื่องขนาดและตำแหน่งให้เองทั้งหมด

หลักการมันง่ายมาก คือสูตรกลุ่มนี้ตอบ ได้หลายค่าพร้อมกัน และค่าที่ตอบมานั้น ไหลลงมา (spill) ครอบคลุมหลายเซลล์อัตโนมัติ โดยคุณไม่ต้องลากสูตรลงมาเองแม้แต่เซลล์เดียว แถมเมื่อข้อมูลต้นทางเปลี่ยน ผลลัพธ์ก็อัปเดตตามทันทีแบบเรียลไทม์

ชุดฟังก์ชันที่เราจะเล่นกันวันนี้มี 4 ตัวหลักครับ

  • FILTER กรองข้อมูลตามเงื่อนไข อัตโนมัติ
  • SORT / SORTBY เรียงลำดับข้อมูล
  • UNIQUE ดึงค่าที่ไม่ซ้ำออกมา
  • SEQUENCE สร้างลำดับตัวเลขหรือวันที่ต่อเนื่อง

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

เปิดไฟล์ตัวอย่าง แล้วทำไปพร้อมกันนะครับ ผมจัดไว้ 3 ชีท เริ่มจาก FILTER SORT กรองและเรียงยอดขาย ข้ามไป UNIQUE หาลูกค้าที่ไม่ซ้ำ และปิดท้ายที่ SEQUENCE สร้างลำดับและเดือนทั้งปี ให้คุณเห็นทั้งการกรอง การรวมเงื่อนไข และการสร้างชุดข้อมูลอัตโนมัติ

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

💡 เคล็ดลับ: Dynamic Arrays ใช้ได้เต็มรูปแบบบน Microsoft 365 และ Excel 2021 ถ้าใช้ Excel เวอร์ชันเก่า กด Ctrl+Shift+Enter แบบ Array Formula เก่าได้บางส่วน แต่ฟังก์ชัน FILTER, SORT, UNIQUE จะยังไม่มีครับ

📌 ข้อควรจำ: ตัวอย่างในไฟล์นี้เป็นข้อมูลปี ค.ศ. 2026 และใช้สูตรที่ตรงกับไฟล์จริง เปิดไฟล์แล้วลองปรับตัวเลขเงื่อนไขดูได้เลยครับ

2. FILTER — กรองข้อมูลแบบอัตโนมัติ

เริ่มที่ชีท FILTER SORT ครับ ครึ่งบนคือตารางขายสินค้าของร้านค้าชุมชน มีคอลัมน์ สินค้า, หมวด, ยอดขาย และ ผู้ขาย สมมติว่าคุณอยากเห็นเฉพาะสินค้าที่มียอดขายเกิน 5,000 บาท

วิธีเดิมเราก็ต้องเปิด Filter แล้วเลือกทีละค่า แต่ด้วย FILTER แค่สูตรเดียวจบ

=FILTER(A2:D9,C2:C9>5000)

พารามิเตอร์ตัวแรกคือช่วงข้อมูลที่อยากให้แสดงทั้งแถว ตัวที่สองคือเงื่อนไขที่อิงจากคอลัมน์ ยอดขาย เป็นผลลัพธ์ที่ตอบมาเป็นตารางทั้งคอลัมน์ ตั้งแต่ A ไปถึง D เฉพาะแถวที่ยอดเกิน 5,000 เท่านั้น

สินค้าหมวดยอดขาย (บาท)ผู้ขาย
ข้าวกล้องอาหาร7800วิภา
ปลากระป๋องอาหาร9600สุดา
ชาเขียวเครื่องดื่ม5400วิภา
ไข่ไก่อาหาร12200อนุชา

เห็นไหมครับ 4 แถวที่ผ่านเงื่อนไขถูกดึงออกมาให้ทั้งหมด โดยไม่ต้องลากสูตรแม้แต่เซลล์เดียว นี่คือหัวใจของ spill — ผลลัพธ์ไหลออกมาเองจนเต็มช่วงที่ต้องการ

ถ้าอยากให้เงื่อนไขปรับเปลี่ยนได้โดยไม่ต้องแกะสูตร ก็อ้างอิงไปที่เซลล์ที่พิมพ์เกณฑ์ไว้ เช่น ใส่ตัวเลข 5000 ไว้ที่ F1 แล้วเปลี่ยนสูตรเป็น =FILTER(A2:D9,C2:C9>F1) แค่นี้เวลาเปลี่ยนเกณฑ์ก็แค่พิมพ์ตัวเลขใหม่ใน F1 ผลลัพธ์จะเด้งตามทันที ดีกว่าค่าเลขตายตัวที่ต้องมาแก้ในสูตรทุกครั้งเลยครับ

แล้วถ้าอยากกรองเฉพาะหมวดเดียวล่ะครับ เช่น เอาเฉพาะเครื่องดื่ม สูตรก็คือ

=FILTER(A2:D9,B2:B9="เครื่องดื่ม")

ส่วนใครอยากกรอง หลายเงื่อนไขพร้อมกัน ให้คูณเงื่อนไขด้วยเครื่องหมายดอกจันในวงเล็บ เช่น อยากได้สินค้าประเภทอาหารที่ยอดเกิน 3,000 บาท

=FILTER(A2:D9,(C2:C9>3000)*(B2:B9="อาหาร"))

เงื่อนไขแต่ละชุดอยู่ในวงเล็บของตัวเอง แล้วคูณเข้าด้วยกัน ทำหน้าที่เหมือนคำว่า และ ให้กับ Excel ได้ผลลัพธ์เป็นแถวที่เข้าเงื่อนไขครบทั้งสองข้อ แค่นี้คุณก็กรองข้อมูลกลางไฟล์ได้โดยไม่ต้องแตะปุ่ม Filter เลยครับ

FILTER ยังมีพารามิเตอร์ตัวที่สามคือค่าที่อยากให้แสดงเมื่อไม่มีผลลัพธ์ตรงเงื่อนไข เช่น

=FILTER(A2:D9,C2:C9>99999,"ไม่พบข้อมูล")

ถ้าครั้งไหนไม่มีสินค้าตัวไหนยอดเกินเกณฑ์ ก็จะขึ้นคำว่า ไม่พบข้อมูล แทน error #CALC! จึงเหมาะกับไฟล์รายงานที่ต้องมีคนมาเปิดทุกวัน แล้วไม่อยากให้เห็นเครื่องหมาย error ขวางตา

💡 เคล็ดลับ: เงื่อนไขใน FILTER ใช้เครื่องหมาย * คูณกันแปลว่า และ (ทุกเงื่อนไขต้องจริง) ส่วนถ้าอยากได้ หรือ ให้ใช้เครื่องหมาย + เช่น (เงื่อนไข1)+(เงื่อนไข2) ครับ

3. SORT และ SORTBY — เรียงลำดับให้อัตโนมัติ

ถัดมาในชีทเดียวกันครับ หลังกรองข้อมูลออกมาได้แล้ว สิ่งที่คนส่วนใหญ่ทำต่อคือการเรียงลำดับ ไม่ว่าจะยอดจากมากไปน้อย หรือชื่อจาก ก ไป ฮ

SORT รับข้อมูลมาหนึ่งช่วงแล้วเรียงให้เลย ตัวอย่างเรียงตารางทั้งหมดตามคอลัมน์ ยอดขาย (คอลัมน์ที่ 3) จากมากไปน้อย

=SORT(A2:D9,3,-1)

ตัวเลข 3 คือคอลัมน์ที่ใช้เรียง และ -1 คือจากมากไปน้อย (1 คือจากน้อยไปมาก) ผลลัพธ์คือ ไข่ไก่ 12,200 มาก่อน ตามด้วยปลากระป๋อง ข้าวกล้อง ไล่ลงไปจนถึงมาม่า 1,800

อยากเรียงตามชื่อจาก ก ไป ฮ ก็เปลี่ยนแค่เลขคอลัมน์เป็นคอลัมน์แรก เช่น =SORT(A2:D9,1,1) ได้ตารางที่เรียงชื่อสินค้าตามลำดับพจนานุกรม จะเรียงกี่คอลัมน์ต่อเนื่องกันก็ได้ เช่น =SORT(A2:D9,{3,1},{-1,1}) แปลว่าเรียงยอดจากมากไปน้อย แล้วต่อด้วยเรียงชื่อจากน้อยไปมากในกลุ่มที่ยอดเท่ากัน

ถ้าอยากได้ทั้งกรองและเรียงในสูตรเดียว ก็ซ้อนกันได้เลย

=SORT(FILTER(A2:D9,C2:C9>5000),3,-1)

FILTER กรองยอดเกิน 5,000 ออกมาก่อน แล้ว SORT เอามาเรียงยอดจากมากไปน้อยให้อีกรอบ เรียกว่าจบงานในเซลล์เดียวเต็มๆ

ส่วน SORTBY ต่างจาก SORT ตรงที่เรียงตามคอลัมน์นอกช่วงข้อมูลโดยไม่ต้องรวมคอลัมน์นั้นเข้าไปด้วย เช่น

=SORTBY(A2:D9,C2:C9,-1)

คือเอา A ถึง D มาเรียงตามค่าในคอลัมน์ C (ยอดขาย) ซึ่งอยู่ข้างนอกช่วงที่แสดง ลองเปิดไฟล์ดูผลลัพธ์ทั้ง SORT กับ SORTBY ในคอลัมน์ที่ผมเตรียมไว้ให้ จะเห็นว่าได้ตารางเหมือนกัน แต่ท่าทางการเขียนต่างกันเล็กน้อย

⚠️ ข้อควรระวัง: ระวังอย่าให้ช่วงการเรียงกับช่วงผลลัพธ์ทับซ้อนกันในจุดที่ทำให้ข้อมูลวน เพราะถ้าเผลอ กดล่าช้ามักได้ #REF! หรือข้อมูลเพี้ยน ให้เผื่อพื้นที่ว่างไว้ให้สูตร spill ครับ

💡 เคล็ดลับ: ลองจับ SORT กับ FILTER ต่อกันเป็นลูกโซ่ดูครับ เช่น =SORT(FILTER(A2:D9,C2:C9>5000),3,-1) ได้ผลลัพธ์ที่ทั้งกรองและเรียงในครั้งเดียว เหมาะกับรายงานที่อยากได้ตารางพร้อมใช้โดยไม่ต้องแตะข้อมูลต้นฉบับ

4. UNIQUE — ดึงค่าที่ไม่ซ้ำแบบฉับไว

มาที่ชีท UNIQUE ครับ โจทย์นี้ตรงใจฝ่ายการตลาดและฝ่ายขาย คืออยากรู้ว่ามีลูกค้ากี่รายที่สั่งสินค้า และมีสินค้ากี่หมวด โดยไม่ต้องนับซ้ำ

สมมติตารางมีบันทึกการสั่งซื้อหลายสิบแถว และชื่อลูกค้าซ้ำกันหลายรอบ อยากได้รายชื่อที่ไม่ซ้ำสักครั้งเดียว

=UNIQUE(A2:A9)

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

ใช้กับหมวดสินค้าได้เหมือนกัน

=UNIQUE(C2:C9)

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

=COUNTIF(A2:A9,A2)

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

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

อยากให้รายชื่อไม่ซ้ำออกมาแบบเรียงสวยๆ ก็จับ UNIQUE ไปใส่ใน SORT ได้เลย

=SORT(UNIQUE(A2:A9))

UNIQUE ดึงชื่อที่ไม่ซ้ำออกมา แล้ว SORT เรียงจาก ก ไป ฮ ให้อัตโนมัติ เหมาะทำรายชื่อในดรอปดาวน์หรือรายงานสรุปที่อยากให้อ่านง่าย เรียกว่าใช้งานเป็นลูกโซ่ต่อกันแบบไม่จำกัด

ส่วนใครอยากให้รายชื่อที่ไม่ซ้ำวางในแนวนอนแทนแนวตั้ง ก็ใช้ TRANSPOSE ห่อไว้ได้

=TRANSPOSE(UNIQUE(C2:C9))

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

💡 เคล็ดลับ: UNIQUE มีพารามิเตอร์ตัวที่สาม UNIQUE(ช่วง,...,TRUE) ให้ดึงเฉพาะค่าที่ซ้ำกันมาแทน แต่เวอร์ชันเก่าบางตัวอาจไม่รองรับ ถ้าอยากได้ค่าที่ซ้ำ ลองใช้ COUNTIF คู่กับ FILTER ดูก็ได้ครับ

📌 ข้อควรจำ: UNIQUE ไม่ลบข้อมูลต้นฉบับ มันแค่สร้างชุดค่าใหม่ที่ไม่มีซ้ำต่างหาก จึงปลอดภัยต่อข้อมูลจริงเสมอ ไม่เหมือน Remove Duplicates ที่แก้ไฟล์ต้นทางครับ

5. SEQUENCE — สร้างลำดับและวันที่แบบอัตโนมัติ

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

โครงสร้างคือ

=SEQUENCE(จำนวนแถว, จำนวนคอลัมน์, ค่าเริ่ม, ขั้น)

ตัวอย่างสร้างเลข 1 ถึง 10 ลงแนวตั้ง

=SEQUENCE(10)

ได้คอลัมน์ตัวเลข 1-10 ไหลลงมาเลย ส่วนถ้าอยากได้เมทริกซ์ 2 แถวคูณ 5 คอลัมน์

=SEQUENCE(2,5)

จะได้เลข 1 ถึง 10 กระจายเป็นตาราง 2×5 เต็มทั้งช่วง

ส่วนที่คนทำงานบัญชีชอบคือการสร้างวันที่ทั้งปีด้วยสูตรเดียว อยากได้วันแรกของทุกเดือนตั้งแต่เดือนมกราคมถึงธันวาคม 2026

=DATE(2026,SEQUENCE(12),1)

SEQUENCE(12) สร้างเลข 1 ถึง 12 มาแทนเดือน แล้ว DATE ประกอบเป็นวันที่ 1 ของแต่ละเดือน ได้ 1 ม.ค. 2026 ไปจนถึง 1 ธ.ค. 2026 ครบทั้ง 12 เดือนในสูตรเดียว ไม่ต้องพิมพ์ทีละเดือน แล้วยังมาถึงการสร้างลำดับปีด้วย

=SEQUENCE(4,1,2026,1)

ได้ปี 2026 2027 2028 2029 เหมาะทำหัวคอลัมน์หลายปีในไฟล์สรุป

จะเห็นว่า SEQUENCE เป็นเหมือนโรงงานผลิตตัวเลขชนิดหนึ่ง ยิ่งจับคู่กับ DATE หรือฟังก์ชันอื่นก็ยิ่งทรงพลัง เช่น เอาไปสร้างเลขที่บิลอัตโนมัติ หรือทำแถวเป้าหมายรายเดือนทั้งปีได้ในครั้งเดียว และถ้านับย้อนกลับก็ทำได้ด้วยการใส่ขั้นเป็นค่าลบ

ตัวอย่างฝึกบิลแบบเลขต่อเนื่อง อยากได้เลข 001 ถึง 010 ก็รวม SEQUENCE เข้ากับ TEXT ได้แบบนี้

=TEXT(SEQUENCE(10),"000")

ได้เลข 001 002 003 ไล่ไปจนถึง 010 อัตโนมัติ ใช้ทำเลขที่ใบเสร็จหรือลำดับรายการได้ทันทีโดยไม่ต้องพิมพ์ทีละตัว และถ้าอยากสร้างวันที่ครบทุกเดือนแบบมีวันหยุดด้วย ก็เอา SEQUENCE ไปจับคู่กับ WORKDAY หรือ NETWORKDAYS ได้ต่อเนื่องอีกชั้นหนึ่ง

⚠️ ข้อควรระวัง: ถ้าช่วงผลลัพธ์ของ SEQUENCE หรือ Dynamic Array ไปชนกับข้อมูลที่มีอยู่แล้ว จะเกิด error #SPILL! ก็แค่ลบหรือย้ายข้อมูลที่ขวางออก ให้มีพื้นที่ว่างพอให้ค่าหล่นลงมาเท่านั้นเองครับ

6. ข้อควรระวังเรื่อง spill และ #SPILL!

การจะใช้ Dynamic Arrays ให้ราบรื่น สิ่งที่ต้องเข้าใจมากที่สุดคือเรื่องของ spill range ครับ แปลว่าพื้นที่ว่างที่ผลลัพธ์จะไหลลงมา

ถ้าพื้นที่นั้นมีข้อมูลอะไรบังอยู่ Excel จะไม่กล้าเขียนทับ และจะขึ้น error ว่า

#SPILL!

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

อีกเรื่องที่ควรรู้คือ เราไม่ควรพิมพ์หรือลากสูตรเองทับลงไปในบริเวณที่กำลัง spill เพราะมันจะตัดการทำงานของ Dynamic Array ทันที ถ้าจะแก้ก็แก้เฉพาะสูตรที่เซลล์บนสุดตัวเดียวเท่านั้น แล้วให้ Excel กระจายผลลัพธ์ส่วนที่เหลือให้เอง

ลองเปิดชีท SEQUENCE ในไฟล์ตัวอย่างดูครับ ถ้าคุณลากสูตรทับลงไปในพื้นที่ที่ค่าหล่นอยู่ Excel จะขึ้น #SPILL! ทันที เพราะมันพยายามจะเขียนทับผลลัพธ์ของตัวเอง ซึ่งเป็นสิ่งที่ Dynamic Array ไม่อนุญาตโดยดี พอเห็นแบบนี้จะเข้าใจเลยว่าทำไมต้องเว้นที่ว่างให้ผลลัพธ์หล่นลงมาโดยไม่มีอะไรขวาง

อีกจุดที่หลายคนงง คือผลลัพธ์แบบ spill จะอ้างอิงด้วยสัญลักษณ์แฮชต่อท้าย เช่น E3# หมายถึงทั้งช่วงที่เริ่มจาก E3 เป็นต้นไป ใช้อ้างอิงทั้งก้อนข้อมูลที่กรองออกมาได้ในสูตรอื่น เช่น =SUM(F3#) รวมยอดขายทั้งก้อนที่ FILTER คัดออกมาได้ทันที แม้ไม่รู้ว่าจะมีกี่แถว นี่คือการอ้างอิงช่วงแบบไดนามิกที่ยืดหยุ่นสุดๆ

นอกจากนี้การกรองที่อ้างอิงทั้งช่วงแบบนี้ยังทำงานต่อเนื่องกับพารามิเตอร์อื่นได้ เช่น เอาไปครอบ IFERROR เพื่อกันข้อผิดพลาด หรือผูกกับ SUMIFS เพื่อสรุปยอดเฉพาะกลุ่มตามเงื่อนไข ยิ่งผูกกันหลายชั้นเท่าไหร่ ไฟล์ก็ยิ่งทำงานแทนคุณได้มากเท่านั้น ถือเป็นก้าวที่สำคัญสำหรับคนที่อยากยกระดับสูตรในไฟล์จริง

📌 ข้อควรจำ: ถ้าเจอ #SPILL! อย่าตกใจ มันไม่ใช่สูตรผิด แต่มันคือพื้นที่ไม่พอต่างหาก เปิดไฟล์ตัวอย่างแล้วลองลบข้อมูลในช่องที่ขวางดู แล้วจะเห็นว่าสูตรกลับมาทำงานเองทันทีครับ

7. สถานการณ์งานจริง — ประยุกต์รวมกันทั้งชุด

สถานการณ์ที่ 1: ฝ่ายขายสรุปรายเดือน

อยากได้ตารางสินค้าที่มียอดขายเกินเกณฑ์ 5,000 บาท เรียงจากมากไปน้อย โดยไม่ต้องไปกด Filter และ Sort ซ้ำๆ ใช้

=SORT(FILTER(A2:D9,C2:C9>5000),3,-1)

จบในเซลล์เดียว พร้อมอัปเดตเองเมื่อเพิ่มข้อมูลใหม่

สถานการณ์ที่ 2: ฝ่ายการตลาดดึงรายชื่อลูกค้า

อยากได้รายชื่อลูกค้าที่ไม่ซ้ำมาทำรายชื่อส่งโปรโมชัน ใช้ UNIQUE ดึงคอลัมน์ชื่อออกมา แล้วใช้ COUNTIF นับความถี่การซื้อ เพื่อจัดกลุ่มลูกค้าประจำกับลูกค้าใหม่

สถานการณ์ที่ 3: ฝ่ายบัญชีสร้างปฏิทินทั้งปี

อยากได้วันแรกของทุกเดือนทั้งปีเพื่อทำงบรายเดือน ใช้

=DATE(2026,SEQUENCE(12),1)

สร้าง 12 แถวในครั้งเดียว และใช้ SEQUENCE สร้างปีที่คาดการณ์ไปข้างหน้าเป็นหัวคอลัมน์หลายปี

สถานการณ์ที่ 4: ฝ่ายผลิตทำตารางเป้าหมายรายวัน

ใช้ SEQUENCE สร้างลำดับวันที่ของทั้งเดือนทีละวัน แล้วจับคู่กับ SUMIFS หรือ FILTER เพื่อให้แดชบอร์ดผลผลิตอัปเดตตามวันที่ทุกวันแบบอัตโนมัติ

สถานการณ์ที่ 5: ฝ่ายคลังเช็คสต็อกสินค้าหมุนเวียน

อยากเห็นเฉพาะสินค้าที่มียอดขายต่ำกว่าเกณฑ์เพื่อเข้าไปจัดโปรโมชัน ใช้ FILTER กับยอดขาย และเรียงยอดจากน้อยไปมากด้วย SORT เพื่อให้เห็นสินค้าที่ต้องจัดการก่อนเป็นอันดับแรก

8. สรุป

มาถึงตรงนี้คุณน่าจะเห็นแล้วว่า Dynamic Arrays เปลี่ยนวิธีทำงานกับข้อมูลไปอย่างสิ้นเชิงครับ

  • FILTER กรองข้อมูลตามเงื่อนไข อัตโนมัติ ไม่ต้องแตะปุ่ม Filter
  • SORT / SORTBY เรียงลำดับ ชัดเจนทั้งตัวข้อมูลและคอลัมน์อ้างอิง
  • UNIQUE ดึงค่าที่ไม่ซ้ำโดยไม่แก้ข้อมูลต้นฉบับ
  • SEQUENCE สร้างลำดับตัวเลขและวันที่ทีละชุดใหญ่
  • spill + #SPILL! หลักการเรื่องพื้นที่ว่างที่ต้องเข้าใจก่อนใช้

ก่อนจบผมอยากเน้นเรื่องการทำงานเป็นทีมของทั้งชุดอีกครั้ง เพราะพลังที่แท้จริงของ Dynamic Arrays ไม่ได้อยู่ที่ฟังก์ชันเดี่ยวๆ แต่อยู่ที่การซ้อนเข้าด้วยกัน เช่น SORT(FILTER(…)), SORT(UNIQUE(…)), ไปจนถึง SEQUENCE คูณกับ DATE เราสร้างไฟล์รายงานที่กรองเอง เรียงเอง และสร้างชุดข้อมูลเองได้โดยไม่ต้องแตะข้อมูลต้นทางแม้แต่นิดเดียว ยิ่งข้อมูลโตแค่ไหน ยิ่งเห็นประโยชน์ชัดขึ้นเท่านั้นครับ

เชิงปฏิบัติแล้ว เริ่มจากหนึ่งฟังก์ชันที่คุณใช้บ่อยที่สุดก่อน เช่น FILTER สำหรับคนขาย แล้วค่อยฝึกซ้อนกับ SORT และ UNIQUE เมื่อชิน ค่อยๆ เพิ่มทีละชั้นจะรู้สึกไม่กดดัน และสิ่งที่เรียนรู้ก็เอาไปใช้จริงได้ทันทีในวันเดียวกัน

จุดที่อยากฝากไว้คือ Dynamic Arrays ทำงานแบบเรียลไทม์ เมื่อข้อมูลต้นทางเปลี่ยน ผลลัพธ์ก็เปลี่ยนตาม ไม่ต้องมานั่งรีเฟรชหรือลากสูตรใหม่ และการซ้อนสูตร เช่น SORT กับ FILTER เข้าด้วยกัน จะทำให้คุณเขียนงานที่แต่เดิมต้องทำหลายขั้นตอนจบภายในเซลล์เดียว สิ่งเดียวที่ต้องมีคือพื้นที่ว่างให้ผลลัพธ์ได้หล่นลงมาเท่านั้น

เคล็ดลับอีกอย่างคืออย่ากลัวการซ้อนสูตรหลายชั้น เพราะแต่ละชั้นแยกอ่านออกมาเป็นคำสั่งเดียวได้เสมอ เช่น อ่าน SORT(FILTER(…)) ได้ว่า กรองก่อน แล้วค่อยเรียง ดังนั้นถ้าเห็นสูตรยาวๆ ให้แยกส่วนทำความเข้าใจทีละชิ้น จะไม่งงเลยครับ ยิ่งบวกกับเรื่องการอ้างอิงแบบ E3# ที่จะเจอในบทความถัดๆ ไป เทคนิคกลุ่มนี้จะกลายเป็นอาวุธหลักของคุณในทุกไฟล์งาน

เปิดไฟล์ตัวอย่างแล้วลองไล่เล่นให้ครบทั้ง 3 ชีทดูนะครับ เริ่มจาก FILTER SORT กรองและเรียงยอดขาย ข้ามไป UNIQUE ดึงลูกค้าไม่ซ้ำ และปิดท้ายที่ SEQUENCE สร้างลำดับและเดือนทั้งปี ลองลบข้อมูลในช่องที่ขวาง spill เพื่อดูว่า #SPILL! หายไปยังไง แล้วลองเปลี่ยนเงื่อนไขใน FILTER ดู ผลลัพธ์จะขยับตามให้ทันที

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

บทความหน้าเราจะได้รู้จัก การอ้างอิงขั้นสูง — INDIRECT, OFFSET, ADDRESS ที่จะทำให้สูตรของคุณอ้างอิงตำแหน่งแบบยืดหยุ่นถึงขั้นไม่มีที่ติ เจอกันครับ! 😊

Similar Posts

  • Shortcut Excel พื้นฐานที่ควรจำ – ทำงานเร็วขึ้น 2 เท่าด้วยแป้นพิมพ์ลัด

    1. ทำงานช้าเพราะใช้เมาส์ล้วนๆ ใช่ไหม? เคยเป็นไหมครับ? ทำงาน Excel อยู่ดีๆ สะดุดเพราะต้องเอามือออกจากคีย์บอร์ดไปคลิกเมาส์ทุกครั้ง: วันนึง 8 ชั่วโมง ยกมือไปมาระหว่างคีย์บอร์ดกับเมาส์เป็นร้อยครั้ง มันเสียเวลาโดยใช่เหตุครับ! Shortcut (คีย์ลัด) คือการกดแป้นพิมพ์ลัดเพื่อสั่งงาน Excel โดยไม่ต้องใช้เมาส์ — เหมือนคุณมีปุ่มลับที่ทำให้ทุกอย่างเร็วขึ้น แค่เปลี่ยนนิ้วจากเมาส์มากดคีย์บอร์ด รับรองว่าความเร็วในการทำงานจะเพิ่มขึ้นแบบก้าวกระโดดเลยล่ะ “การจำ Shortcut แค่ 5-10 ตัวก็ช่วยให้คุณทำงานเร็วขึ้น 30-50% แล้ว” ในบทความนี้ผมจะพาไปรู้จัก 15 Shortcut Excel พื้นฐานที่ควรจำ แบ่งเป็นหมวดๆ ให้เข้าใจง่าย พร้อมตัวอย่างการใช้งานจริงที่คนทำงานแบบคุณต้องเจอทุกวันครับ เปิดไฟล์ตัวอย่างมาดูครับ — มีชีท “ฝึกหัด Shortcut” ให้ลองเล่นด้วยตัวเองด้วย 2. Shortcut สำหรับการนำทาง (Navigation) — เลื่อนไปมาแบบไวไฟ Shortcut หมวดนี้ช่วยให้คุณย้ายเซลล์หรือเลื่อนดูข้อมูลโดยไม่ต้องแตะเมาส์เลยครับ ย้ายเซลล์พื้นฐาน Shortcut การทำงาน ลูกศร…

  • Data Validation: กรองข้อมูลตอนกรอก ป้องกันความผิดพลาดตั้งแต่ต้นทาง

    1. กรอกข้อมูลผิดนี่… เสียเวลาที่สุด! เคยเป็นไหมครับ — คุณส่งไฟล์ Excel ให้เพื่อนร่วมงานกรอกข้อมูล แล้วได้กลับมาแบบนี้: คุณต้องมานั่งไล่ทำความสะอาดข้อมูลทีละเซลล์ เสียเวลาเป็นชั่วโมง! ถ้าคุณพยักหน้า — Data Validation คือตัวช่วยที่คุณต้องการครับ! Data Validation (หรือ “การตรวจสอบข้อมูล” หรือ “การกรองข้อมูลตอนกรอก”) เป็นฟีเจอร์ใน Excel ที่ช่วยให้คุณ กำหนดกฎเกณฑ์ สำหรับการกรอกข้อมูลในเซลล์ — เช่น กำหนดให้กรอกได้แค่ตัวเลข 1-100 หรือเลือกได้เฉพาะจาก Dropdown List เท่านั้น ประโยชน์ของ Data Validation: เปิดไฟล์ตัวอย่างมาลองทำพร้อมกันดูนะครับ — มีชีทตัวอย่างให้ลองทำตามทุกหัวข้อ จะได้เห็นภาพมากขึ้น! 2. Data Validation คืออะไร? ทำงานยังไง? Data Validation คือฟีเจอร์ที่ให้คุณ ตั้งกฎ ว่าเซลล์หนึ่งๆ ควรมีข้อมูลแบบไหน — แล้ว…

  • การเลือกเซลล์และช่วงข้อมูลใน Excel — เลือกเป็นชีวิตง่ายขึ้นเยอะ

    1. แค่คลิกก็เลือกได้ แต่เลือกยังไงให้ work ที่สุด? สวัสดีครับทุกคน! หลังจากที่เราได้เรียนรู้กันมาแล้วตั้งแต่ Excel คืออะไร หน้าตาเป็นยังไง Workbook กับ Worksheet ต่างกันยังไง และการป้อนข้อมูลพื้นฐาน — คราวนี้มาถึงทักษะที่ดูเหมือนง่ายแต่สำคัญมากๆ นั่นก็คือ การเลือกเซลล์และช่วงข้อมูล นั่นเองครับ หลายคนอาจจะคิดว่า “การเลือกเซลล์มันก็แค่คลิก จะยากตรงไหน?” — ก็จริงครับ แต่การเลือกให้ เร็ว และ ถูกต้อง สำหรับงานแต่ละประเภทนี่สิครับ ที่เป็นความต่างระหว่างมือใหม่กับคนที่ใช้ Excel เป็นประจำทุกวัน เพราะการเลือกเซลล์ (Cell) หรือช่วง (Range) ข้อมูลที่ไม่ถูกวิธีอาจทำให้: วันนี้ผมจะพาคุณมาเรียนรู้ตั้งแต่พื้นฐานยันเทคนิคเด็ดๆ ที่คนใช้ Excel ตัวจริงเขาทำกันครับ รับรองว่าอ่านจบแล้วคุณจะเลือกเซลล์ได้อย่างมั่นใจ! 📌 Concept สำคัญ: Cell กับ Range ต่างกันยังไง? ก่อนอื่นมาทำความเข้าใจคำศัพท์พื้นฐานกันก่อนครับ: คำศัพท์ ความหมาย ตัวอย่าง Cell…

  • Workbook กับ Worksheet ต่างกันยังไง — เข้าใจความแตกต่างภายใน 5 นาที

    1. “เปิด Excel มาทีไร งงทุกทีว่ามันคืออะไร” สวัสดีทุกคนครับ! หลังจากที่เราได้รู้จัก Excel กันไปคร่าวๆ แล้ว และได้เห็นหน้าตาของ Ribbon, แถบเมนู, Name Box กันไปแล้ว — คราวนี้มาถึงเรื่องที่มือใหม่หลายคนสับสนกันมากที่สุด! “Workbook กับ Worksheet มันแตกต่างกันยังไงนะ?” เชื่อว่าคุณหลายคนคงเคยเปิด Excel แล้วเห็นคำสองคำนี้แล้วมึนครับ ไม่ต้องอายไป เพราะแม้แต่คนที่ใช้ Excel มานานหลายปียังอธิบายความแตกต่างไม่ถูกเลยด้วยซ้ำ! วันนี้ผมจะอธิบายให้เข้าใจง่ายที่สุด โดยใช้การเปรียบเทียบที่คุณนึกภาพตามได้ไม่ยากครับ 🎯 📁 เทียบง่ายๆ: สมุดโน้ต vs กระดาษในสมุด ลองนึกภาพสมุดโน้ตเล่มใหญ่ที่คุณเคยใช้ตอนเรียนนะครับ: เห็นภาพไหมครับ? สมุดโน้ตหนึ่งเล่มมีหลายหน้า — แต่ละหน้าก็เขียนเนื้อหาต่างกันไปได้ แต่ทุกหน้ายังอยู่ในเล่มเดียวกัน Workbook ก็เหมือนกับแฟ้มเอกสารที่รวมเอาชีทต่างๆ เข้ามาไว้ด้วยกัน เวลาคุณเปิด Excel ขึ้นมาใหม่ — สิ่งที่คุณเห็นคือ Workbook เปล่าๆ หนึ่งอัน ที่ข้างในมี…

  • IF Function สำหรับมือใหม่ — ใช้เงื่อนไขตัดสินใจใน Excel

    1. ถ้า… แล้ว… ไม่งั้น… — วิธีคิดของคนทำงาน ในชีวิตประจำวันเราตัดสินใจโดยใช้เงื่อนไขตลอดเวลา: ใน Excel ก็มีฟังก์ชันที่ทำงานแบบนี้เหมือนกันครับ — มันชื่อว่า IF Function IF คือฟังก์ชันที่ให้ Excel ตรวจสอบเงื่อนไข แล้วตัดสินใจว่าจะแสดงค่าอะไรออกมา โดยคุณเป็นคนกำหนดกฏเกณฑ์เอง IF Function ช่วยให้คุณ: มะ! เปิดไฟล์ตัวอย่างแล้วทำไปพร้อมกันเลยครับ — มีชีทตัวอย่างให้ลองทำตามทุกหัวข้อ จะได้เห็นภาพว่า IF ทำงานยังไงบ้าง! 2. IF Function คืออะไร? โครงสร้างพื้นฐาน IF Function มีโครงสร้างง่ายมากครับ: 3 ส่วนสำคัญของ IF: ส่วน ความหมาย ตัวอย่าง Logical_test เงื่อนไขที่ต้องการตรวจสอบ B2 >= 80 Value_if_true ค่าที่จะแสดงถ้าเงื่อนไขเป็นจริง “ผ่าน” Value_if_false ค่าที่จะแสดงถ้าเงื่อนไขเป็นเท็จ “ไม่ผ่าน”…

  • AutoFill และ Flash Fill: 2 เครื่องมือประหยัดเวลาที่มือใหม่ต้องรู้

    1. พิมพ์ซ้ำๆ ทั้งวัน… จนเมื่อยข้อมือ! เคยเป็นไหมครับ? คุณต้องกรอกรหัสพนักงานไล่ตั้งแต่ 001 ถึง 200 หรือต้องพิมพ์ชื่อเดือนทั้ง 12 เดือน หรือต้องคัดลอกสูตรเดิมลงไปทุกแถว — นั่งพิมพ์ 1-2-3-4… จนเมื่อยนิ้วเลย หรืออีกสถานการณ์ — คุณได้รับไฟล์ที่มีชื่อเต็ม เช่น “นายสมชาย ใจดี” มา แล้วต้องแยกเป็น “คำนำหน้า” “ชื่อ” และ “นามสกุล” แยกคอลัมน์กัน — ทั้งหมด 500 แถว! ถ้าจะพิมพ์แยกทีละคน คงใช้เวลาทั้งวันแน่ๆ ถ้าคุณกำลังพยักหน้า — AutoFill กับ Flash Fill คือตัวช่วยที่คุณรออยู่ครับ! AutoFill และ Flash Fill เป็น 2 ฟีเจอร์ใน Excel ที่จะช่วยให้คุณทำงานซ้ำๆ แบบอัตโนมัติ โดยใช้แค่การลากเมาส์ หรือกดแป้นพิมพ์…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.