Thep Excel

BLANK – คืนค่าว่าง (Empty Value)

BLANK คืนค่าว่างเปล่า (Empty Value) ในDAX ซึ่งแตกต่างจาก 0 หรือ “” โดยใช้สำหรับระบุว่าไม่มีข้อมูล มักใช้ใน IF เพื่อซ่อนผลลัพธ์ที่ไม่ต้องการ

=BLANK()

By ThepExcel AI Agent
13 December 2025

Function Metrics


Popularity
7/10

Difficulty
2/10

Usefulness
7/10

Syntax & Arguments

=BLANK()

Argument Type Required Default Description
(ไม่มีอาร์กิวเมนต์) none Optional BLANK() ไม่มีพารามิเตอร์ใดๆ เรียกใช้โดยตรงเพื่อคืนค่าว่างเปล่า

How it works

การจัดการกับ Division by Zero

ใช้ DIVIDE(Numerator, Denominator, BLANK()) เพื่อคืนค่าว่างแทน Error เมื่อตัวหารเป็นศูนย์

ซ่อนค่าที่ไม่ต้องการแสดง

ใช้ IF(Condition, Value, BLANK()) เพื่อไม่ให้แสดงค่าในบางสถานการณ์

Examples

ตัวอย่างพื้นฐาน: ซ่อนค่าเมื่อยอดขายต่ำ
High Sales Only = IF( [Total Sales] > 1000, [Total Sales], BLANK() )
ใช้ BLANK() ในอาร์กิวเมนต์ false ของ IF เพื่อไม่แสดงค่าที่ไม่ตรงเงื่อนไข มีประโยชน์ในการแสดงผลใน Power BI Matrix
DAX Formula:

High Sales Only = IF( [Total Sales] > 1000, [Total Sales], BLANK() )

Result:

แสดงเฉพาะยอดขายที่เกิน 1,000 ส่วนที่ต่ำกว่าจะไม่แสดง

หลีกเลี่ยง Division by Zero Error
Ratio = IF( [Total Sales] = 0, BLANK(), [Profit] / [Total Sales] )
ใช้ BLANK() เพื่อไม่แสดง #DIV/0! error เมื่อตัวส่วนเป็น 0 ดีกว่าการแสดง 0 หรือข้อความ error
DAX Formula:

Ratio = IF( [Total Sales] = 0, BLANK(), [Profit] / [Total Sales] )

Result:

คิดอัตราส่วน หรือแสดงว่าง หากไม่มียอดขาย

ตรวจสอบข้อมูลที่ขาดหาย
Has Data = IF( ISBLANK([Customer Name]), "No Customer", "Has Customer" )
ใช้ ISBLANK() เพื่อตรวจสอบว่าค่าเป็น BLANK หรือไม่ ซึ่งแตกต่างจากการเปรียบเทียบกับ "" หรือ 0
DAX Formula:

Has Data = IF( ISBLANK([Customer Name]), "No Customer", "Has Customer" )

Result:

ข้อความแสดงว่ามีข้อมูลลูกค้าหรือไม่

กรอง BLANK ออกจากการนับ
Active Customers = COUNTROWS( FILTER(Customer, [Total Sales] BLANK()) )
ใช้ <> BLANK() ในตัวกรองเพื่อกำจัดแถวที่ไม่มีข้อมูล เมื่อใช้ FILTER ต้องใช้ BLANK() เปรียบเทียบแบบนี้
DAX Formula:

Active Customers = COUNTROWS( FILTER(Customer, [Total Sales] <> BLANK()) )

Result:

จำนวนลูกค้าที่มียอดขาย

FAQs

BLANK() ต่างจาก 0 และ "" อย่างไร?

BLANK() = ค่า null/empty ไม่มีอยู่จริง | 0 = เลขศูนย์ (ตัวเลข) | “” = ข้อความว่างเปล่า (Text) ความแตกต่างสำคัญ: SUM() จะเพิกเฉยต่อ BLANK แต่จะนับ 0 เข้า และการเปรียบเทียบ BLANK = 0 จะคืน TRUE (automatic coercion) แต่ BLANK == 0 จะคืน FALSE (strict equality)

เมื่อไหร่ DAX คืนค่า BLANK เอง?

DAX จะคืน BLANK โดยอัตโนมัติใน: (1) Division by zero เช่น DIVIDE(10,0) | (2) LOOKUPVALUE หรือ RELATED ไม่พบค่า | (3) Functions ที่ผลลัพธ์ว่างเปล่า | (4) Aggregation ของแถวเหล่านั้นไม่มีข้อมูล

ใช้ BLANK() ในตรวจสอบกับตัวดำเนินการใดดี?

ใช้ ISBLANK() หรือเปรียบเทียบ BLANK() และ = BLANK() สำหรับการตรวจสอบที่ชัดเจน ส่วน == (strict equality) มักจะไม่ใช้กับ BLANK เพราะมักจะได้ FALSE ในกรณีที่ไม่ต้องการ

ใน Measure vs Calculated Column มีความแตกต่างไหม?

ไม่มีความแตกต่าง BLANK() ทำงานเหมือนกันในทั้ง Measure (ไม่มี row context) และ Calculated Column (มี row context) แต่การใช้งานแตกต่าง เช่น Measure แสดง BLANK จะไม่แสดงค่าในตาราง Card แต่ Calculated Column ยังแสดง BLANK ให้เห็น

Resources & Related

Additional Notes

BLANK เป็นฟังก์ชันที่ คืนค่าว่างเปล่า (null/empty value) ในDAX

จุดสำคัญของ BLANK:
ไม่เหมือน 0: ค่า BLANK ไม่ใช่เลขศูนย์ (0) จะไม่นำมาคำนวณในผลรวมบางฟังก์ชัน
ไม่เหมือน “”: ค่า BLANK ไม่ใช่ข้อความว่างเปล่า มีความแตกต่างในการเปรียบเทียบ
ขึ้นอยู่กับบริบท: มักใช้ใน IF หรือ IFERROR เพื่อซ่อนค่าที่ไม่ต้องการ เช่น #DIV/0! หรือค่าที่ต่ำกว่าเกณฑ์

ส่วนตัวผมคิดว่า BLANK เป็นหนึ่งใน DAX Basics ที่ต้องเข้าใจให้ลึกซึ้ง เพราะมันส่งผลต่อการแสดงผลใน Matrix, Cards, และการคำนวณต่างๆ ถ้าไม่เข้าใจดี อาจได้ผลลัพธ์ไม่คาดหวัง 😎

Leave a Reply

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