Thep Excel

ERRORฟังก์ชัน DAX

ERROR ฟังก์ชันที่หยุดการคำนวณและแสดงข้อความข้อผิดพลาดที่กำหนดเอง ใช้สำหรับการตรวจสอบข้อมูล (Data Validation) และจัดการสถานการณ์ที่ข้อมูลไม่ครบถ้วน เช่น ค่า Inflation Rate ที่หายไป หรือค่าจำเป็นที่ไม่พบ แทนการส่งค่าที่ไม่ถูกต้องหรือว่าง

fx
=ERROR(<ErrorText>)

ความนิยม4/10
ความยาก3/10
ประโยชน์4/10

อัปเดต 15 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
ErrorText text ไม่มี – จำเป็นต้องระบุ ข้อความแสดงข้อผิดพลาดที่ต้องการแสดงให้ผู้ใช้เห็น เช่น ‘Missing inflation rate for this year’

ERROR

How it works

ตรวจสอบ Data Quality ก่อนการวิเคราะห์

ก่อนสร้าง KPI ที่สำคัญ ใช้ ERROR เพื่อตรวจสอบว่าข้อมูลจำเป็น (เช่น Department, Region) มีค่าครบถ้วนหรือไม่ ถ้ามีการขาดหายจะแสดงข้อผิดพลาดแทนที่จะสร้างรายงานที่ไม่ถูกต้อง

จัดการค่าที่อยู่นอกขอบเขตปกติ

สำหรับ Measures ที่มี Business Rules (เช่น Discount ต้องไม่เกิน 50%) ใช้ ERROR เมื่อค่าผิดไปจาก Rule เพื่อแจ้ง Data Steward ว่าข้อมูลมีปัญหาต้องตรวจสอบ

Examples

หยุดคำนวณเมื่อข้อมูลไม่พบSELECTEDVALUE('Rates'[InflationRate], CONVERT(ERROR("Missing inflation rate for this year"), DOUBLE))

ใช้ SELECTEDVALUE รวมกับ ERROR เพื่อตรวจสอบว่า Inflation Rate มีค่าหรือไม่ ถ้าไม่พบจะแสดงข้อผิดพลาดแทนการส่งค่าที่ผิด นี่เป็นวิธีที่ดีในการจัดการ Data Quality

fx
=SELECTEDVALUE('Rates'[InflationRate], CONVERT(ERROR("Missing inflation rate for this year"), DOUBLE))

ผลลัพธ์ข้อผิดพลาด: Missing inflation rate for this year
ตรวจสอบค่าสูงสุดIF(MAX([Sales]) > 1000000, CONVERT(ERROR("Sales exceeded maximum allowed value"), DOUBLE), MAX([Sales]))

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

fx
=IF(MAX([Sales]) > 1000000, CONVERT(ERROR("Sales exceeded maximum allowed value"), DOUBLE), MAX([Sales]))

ผลลัพธ์ข้อผิดพลาด: Sales exceeded maximum allowed value (ถ้าเกิน) หรือค่า Sales (ถ้าไม่เกิน)
ขอข้อมูลเพิ่มเติมเมื่อมีปัญหาIF(ISBLANK([Department]), CONVERT(ERROR("Department field is required. Please fill in the department for accurate analysis."), TEXT), [Department])

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

fx
=IF(ISBLANK([Department]), CONVERT(ERROR("Department field is required. Please fill in the department for accurate analysis."), TEXT), [Department])

ผลลัพธ์ข้อผิดพลาด: Department field is required… (ถ้า Blank) หรือชื่อ Department (ถ้ามีค่า)

FAQs

ERROR ต่างจากการส่งค่า BLANK หรือ NA() อย่างไร+

ERROR หยุดการคำนวณทั้งหมดและแสดงข้อความตรงนั้น ส่วน BLANK และ NA() จะส่งค่า Blank หรือ #N/A ไปเรื่อย ๆ ใน Formula ต่อไป ERROR เหมาะสำหรับเมื่อต้องแจ้งปัญหาสำคัญ ขณะที่ BLANK/NA() เหมาะสำหรับค่าที่สามารถจัดการต่อได้

ต้องใช้ CONVERT() กับ ERROR ทำไม+

ERROR() ส่งค่า Variant Type แต่เมื่อใช้ในตำแหน่งที่ต้องได้ Data Type เฉพาะ (เช่น DOUBLE, TEXT) จึงต้อง CONVERT() เพื่อระบุ Data Type ให้ชัดเจน นี่เป็นการป้องกัน Implicit Conversion ที่อาจทำให้ผลลัพธ์ไม่เสถียร

ใช้ ERROR ในคอลัมน์ที่คำนวณ (Calculated Column) ได้ไหม+

ได้ แต่ต้องระมัดระวัง เมื่อแถวใด ๆ ใน Calculated Column มี ERROR ก็จะแสดงข้อผิดพลาดสำหรับแถวนั้น ซึ่งอาจทำให้ View/Report ไม่สามารถแสดงผลได้ ดังนั้นควรใช้สำหรับการตรวจสอบ Data Quality มากกว่าการสร้าง Calculated Column ปกติ

ERROR ใช้เพื่อ Error Handling ได้ไหม+

ไม่ได้ ERROR ใช้สำหรับการทำให้เกิดข้อผิดพลาด (Raising Error) ไม่ใช่สำหรับจับและจัดการข้อผิดพลาด (Error Handling) ถ้าต้องการจับข้อผิดพลาดจากฟังก์ชันอื่น ให้ใช้ IFERROR() หรือ ISERROR() แทน

Resources & Related

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

ฟังก์ชันนี้ERROROther
Logical (1)
IFERROR

IFERROR ใช้ดักจับข้อผิดพลาดในนิพจน์: ถ้า Value เกิด error จะคืนค่า ValueIfError แทน ถ้าไม่เกิด error จะคืนค่าของ Value เดิม เหมาะสำหรับการแปลงชนิดข้อมูล การหารที่อาจเป็นศูนย์ หรือ measure ที่ไม่เสถียร

Comments

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