Thep Excel

LOOKUP – ค้นหาค่าในเมทริกซ์ภาพ

LOOKUP ค้นหาและดึงค่าจากเมทริกซ์ภาพ (visual matrix) ในการคำนวณภาพโดยการระบุเงื่อนไขการกรอง ใช้เฉพาะในการคำนวณภาพเท่านั้น

=LOOKUP(<expression>, <colref>, <expression>[, <colref>, <expression>]...)

By ThepExcel AI Agent
14 December 2025

Function Metrics


Popularity
5/10

Difficulty
4/10

Usefulness
5/10

Syntax & Arguments

=LOOKUP(<expression>, <colref>, <expression>[, <colref>, <expression>]...)

Argument Type Required Default Description
expression any Yes นิพจน์ที่จะประเมินหรือคำนวณจากเซลล์ที่ตรงกับเงื่อนไขการกรอง เช่น SUM([Sales Amount]) หรือ [Price]
colref column reference Optional คอลัมน์ที่ต้องการตรวจสอบเงื่อนไข (สามารถระบุได้หลายคอลัมน์)
expression any Optional ค่าที่ต้องการให้ colref ตรงกัน (ตามหลัง colref แต่ละครั้ง)

How it works

ดึงค่าแรก/สุดท้ายจากรายการที่เรียงไว้

ใช้ LOOKUP กับรายการที่จัดเรียงเพื่อตอบค่าตามลำดับ เช่น มูลค่าล่าสุดหรือเก่าสุด

ดึงค่าจาก mapping table โดยไม่สร้าง relationship

ใช้เซตจาก FILTER/VALUES เพื่อค้นหาและดึงค่าที่ตรงเงื่อนไขโดยไม่ต้องสร้างความสัมพันธ์

เลือกค่าเดียวจากชุดหลายแถวที่ตรงเงื่อนไข

เมื่อผลลัพธ์หลายแถว แต่ต้องคืนค่าเดียวตามกฎลำดับ (เช่น ตัวแรกหรือสุดท้าย)

Examples

ค้นหายอดขายเดียวในหมวดหมู่ที่ระบุ
Sales for Bikes = LOOKUP( SUM([Sales Amount]), [Product Category], "Bikes" )
LOOKUP ค้นหาเซลล์ที่ [Product Category] เท่ากับ "Bikes" แล้วคำนวณ SUM([Sales Amount]) สำหรับเซลล์นั้น ตัวแปร colref คือ [Product Category] และค่าที่ค้นหาคือ "Bikes"
DAX Formula:

Sales for Bikes = LOOKUP(
    SUM([Sales Amount]),
    [Product Category],
    "Bikes"
)

Result:

500000

ค้นหาจากหลายเงื่อนไขพร้อมการสืบทอด context
Sales for FY2024 = LOOKUP( [Sales Amount], [Fiscal Year], "FY2024" )
LOOKUP ค้นหา [Sales Amount] โดยระบุ [Fiscal Year] = "FY2024" เท่านั้น เงื่อนไขอื่นๆ เช่น [Quarter] จะสืบทอดมาจาก row context ของเมทริกซ์ปัจจุบัน
DAX Formula:

Sales for FY2024 = LOOKUP(
    [Sales Amount],
    [Fiscal Year],
    "FY2024"
)

Result:

250000

ค้นหาจากสองเงื่อนไขพร้อมระบุอย่างชัดเจน
Specific Sales = LOOKUP( [Sales Amount], [Fiscal Year], "FY2024", [Fiscal Quarter], "Q1" )
LOOKUP ระบุ colref สองอัน: [Fiscal Year] = "FY2024" และ [Fiscal Quarter] = "Q1" มันไม่สืบทอด quarter จาก row context แต่ใช้ค่าที่ระบุแล้วเท่านั้น
DAX Formula:

Specific Sales = LOOKUP(
    [Sales Amount],
    [Fiscal Year], "FY2024",
    [Fiscal Quarter], "Q1"
)

Result:

75000

ค้นหาด้วยการประเมินนิพจน์
Average Price for Electronics = LOOKUP( AVERAGE([Price]), [Category], "Electronics" )
LOOKUP ค้นหาเซลล์ที่ [Category] = "Electronics" แล้วประเมินนิพจน์ AVERAGE([Price]) บน data ที่ถูกกรองแล้ว
DAX Formula:

Average Price for Electronics = LOOKUP(
    AVERAGE([Price]),
    [Category],
    "Electronics"
)

Result:

450.50

FAQs

LOOKUP ใช้ได้ที่ไหนบ้าง?

LOOKUP ใช้ได้เฉพาะในการคำนวณภาพ (visual calculations) ใน Power BI เท่านั้น ไม่ใช้ได้ใน calculated columns, calculated tables หรือ measures ถ้าต้องการค้นหาค่าในสถานการณ์อื่น ให้ใช้ LOOKUPVALUE แทน

ต่างจาก LOOKUPVALUE อย่างไร?

LOOKUP ใช้เฉพาะในการคำนวณภาพและสืบทอด filter context จากเมทริกซ์ ส่วน LOOKUPVALUE ใช้ได้ทั่วไปในการคำนวณ (measures, columns ฯลฯ) และไม่ต้องสอดคล้องกับเมทริกซ์ LOOKUPVALUE ค้นหาค่าจากตารางโดยระบุเงื่อนไข ส่วน LOOKUP ค้นหาจากตำแหน่งในเมทริกซ์

ถ้าไม่ระบุ colref บางอัน จะเกิดอะไร?

ถ้าไม่ระบุ colref บางอัน LOOKUP จะสืบทอด filter context จากเมทริกซ์ปัจจุบัน เช่น ถ้าคุณอยู่แถว Q1 แต่ LOOKUP ค้นหาเฉพาะ [Year] เท่านั้น มันจะใช้ Q1 จาก row context ด้วย

ถ้ามีหลายเซลล์ตรงกับเงื่อนไข จะเกิดอะไร?

LOOKUP จะส่งคืนข้อผิดพลาด (error) ถ้ามีหลายแถวตรงกับเงื่อนไขการกรอง คุณต้องระบุเงื่อนไขให้ครบถ้วนจนกระทั่งมีเพียงเซลล์เดียว

ถ้าไม่มีเซลล์ไหนตรงกับเงื่อนไข จะเกิดอะไร?

LOOKUP จะส่งคืนข้อผิดพลาด (error) ค่าการกรองต้องจับคู่กับข้อมูลที่มีในเมทริกซ์

Resources & Related

Additional Notes

LOOKUP เป็นฟังก์ชันที่ออกแบบมาเฉพาะสำหรับการคำนวณภาพ (visual calculations) ในเมทริกซ์ที่แสดงในรายงาน Power BI มันค้นหาเซลล์ที่ตรงกับเงื่อนไขการกรองที่ระบุ แล้วคืนค่า หรือประเมินนิพจน์จากเซลล์นั้น

ที่เจ๋งคือ LOOKUP ใช้ประโยชน์จากการสืบทอด filter context จากเมทริกซ์ภาพ ถ้าคุณไม่ระบุเงื่อนไขบางอย่าง มันจะดึงมาจาก row context หรือ column context ของตำแหน่งปัจจุบัน ช่วยให้คุณสามารถทำการค้นหาแบบไขว้ (cross-filter) ได้อย่างมีประสิทธิภาพในตารางและเมทริกซ์ข้อมูล

ส่วนตัวผมถือว่า LOOKUP เป็นฟังก์ชันพิเศษที่ต้องใช้มาตรการระมัดระวัง เพราะใช้ได้ในการคำนวณภาพเท่านั้น ไม่ใช้ได้ใน calculated columns, calculated tables หรือ measures ถ้าต้องการค้นหาค่าจากตารางปกติ ผมแนะนำให้ใช้ LOOKUPVALUE หรือ RELATED แทน

Leave a Reply

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