วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET 1

วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET

ปกติแล้วฟังก์ชันที่ใช้ในการสรุปผลข้อมูลที่เรามักจะใช้กันก็จะหนีไม่พ้นพวก SUMIFS, COUNTIFS, MAXIFS, MINIFS อะไรพวกนี้ ซึ่งมีความสามารถในการสรุปข้อมูลตามเงื่อนไขได้

แต่ใน Excel ก็ยังมีฟังก์ชันอีกกลุ่มนึงที่สามารถสรุปข้อมูลตามเงื่อนไขได้เช่นกัน ซึ่งผมขอเรียกว่า D-Function ซึ่งย่อมาจาก Database Function เช่น เช่น DSUM DCOUNT DMAX DGET และในบทความนี้เราก็จะมาเรียนรู้เรื่องฟังก์ชันนี้กัน ว่ามันดียังไง? มีข้อจำกัดยังไง? ซึ่งผมเรียบเรียงเนื้อหาใหม่จากที่ผมเคยเขียนไว้ในหนังสือจอมเวทเทพเอ็กเซลนะครับ

ขั้นตอนการใช้งาน D-Function

มีอยู่ 3 ขั้นตอนหลักๆ คือ

  1. เตรียมข้อมูลให้อยู่ในรูปแบบของ Database (มีชื่อคอลัมน์ครบทุกอัน ไม่ซ้ำกัน)
  2. เตรียมเงื่อนไขให้อยู่ในรูปแบบตาราง (เหมือน criteria ของเครื่องมือ Advanced Filter เป๊ะ)
  3. เรียกใช้ D-Function !

โดยที่ D-Function ส่วนใหญ่จะมีองค์ประกอบดังนี้

=ชื่อ D-FUNCTION ที่ต้องการ (database,field,criteria)
  • Database ให้เลือกตารางทั้งอัน รวมหัวตารางด้วย (สำคัญมาก!)
  • Field คือ ชื่อคอลัมน์ที่เราต้องการเอามาสรุปผล
  • Criteria คือ ตารางเงื่อนไข โดยต้องมีชื่อ Field ที่จะเอามาทำเงื่อนไขด้วย
    • ถ้าเงื่อนไขอยู่บรรทัดเดียวกัน แต่คนละคอลัมน์ คือเงื่อนไขแบบ AND (และ)
    •  ถ้าเงื่อนไขอยู่คนละบรรทัด คอลัมน์เดียวกัน คือเงื่อนไขแบบ OR (หรือ)

ตัวอย่างดังรูป

วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET 2
  • Database คือ A5:D15
  • Field คือ D5 หรือ ข้อความว่า ยอดขาย (ดังนั้นใส่ว่า “ยอดขาย” ก็ได้)
  • Criteria คือตารางสีม่วง ซึ่งต้องมีชื่อ Field (หัวตาราง) ที่เป็นเงื่อนไขอยู่

ผลรวมของยอดขายจึงได้ 236,000 มาจากคอลัมน์ ยอดขาย ใน Database พื้นที่คือ A5:D15 โดยมีเงื่อนไขคือ

  • ชื่อ =นาย ก และ สินค้า=Food (บรรทัดเดียวกัน คือ AND และ) 
  • หรือ สินค้า=Toy โดยไม่สนว่าชื่ออะไร (คนละบรรทัด คือ OR หรือ)

จะได้ว่า 17,000 + 37,000 + 77,000 + 60,000 + 45,000
= 236,000 นั่นเอง

ข้อดีของ D-Function

  1. สามารถใส่เงื่อนไขที่ซับซ้อนได้ เช่น มีทั้ง AND และ OR ผสมกันได้  โดยไม่จำเป็นต้องใช้ Helper Column มาทดไว้ก่อน
  2. เห็นชัดเจนว่าเงื่อนไขในการคัดกรองข้อมูลมาสรุปผลคืออะไร
  3. รองรับฟังก์ชั่นเยอะ (มีพอๆ กับ PivotTable) เช่น มี MIN, MAX แม้จะเป็น Excel Version เก่ากว่า 2019 (ใน Excel เก่ากว่า 2019 จะไม่มี MINIFS, MAXIFS)

ข้อเสียของ D-Function

ข้อเสียของ D-Function ที่สำคัญคือ เรื่องการจัดรูปแบบของตาราง Criteria นี่แหละครับ เพราะมันทำให้เราไม่สามารถ Copy สูตรลงมาข้างล่างเรื่อยๆ ได้เหมือนสูตรปกติ

ข้อจำกัดที่ทำให้ลากสูตรลงมาข้างล่างไม่ได้ เพราะในส่วนของ criteria  ใน D-FUNCTION(database,field,criteria) ต้องมีชื่อคอลัมน์ในตาราง Criteria ด้วยตลอด ดังนั้นถ้าอยากจะหาผลรวม Food, Toy , Furniture  แยกกันคนละบรรทัด จะต้องสร้างตาราง Criteria 3 อันด้วย ซึ่งทำให้ลำบากและไม่สะดวกเอามาก ๆ

วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET 3

แต่ถ้าอยากปลดล๊อคเรื่องเงื่อนไขหัวตารางของ Criteria นี้ สามารถใช้วิธีผสานพลัง D-Function ร่วมกับเครื่องมือ Data Table เช่น ตัวอย่างในรูป สามารถใช้ DMAX กับสินค้าหลายๆ ตัวได้เลยพร้อมๆ กัน โดยไม่ต้องสร้างหัวตารางทุกอันครับ

วิธีการใช้ D-Function เช่น DSUM DCOUNT DMAX DGET 4

อย่างไรก็ตาม ถ้ามีฟังก์ชันสรุปในกลุ่ม SUMIFS COUNTIFS MINIFS MAXIFS แล้ว ผมว่าใช้พวกนั้นน่าจะสะดวกกว่าครับ หรือถ้าเงื่อนไขซับซ้อนหน่อยอาจต้องเรียนรู้เรื่อง Array Formula เพิ่มเติม ก็จะทำเงื่อนไขยากๆ ได้โดยไม่ต้องใช้ D-Function ครับ

Power BI Workshop 2024 ตุลาคมนี้
อบรม In-House Training

Feedback การใช้งาน AI Chatbot