Thep Excel

LOOKUPVALUE – ค้นหาค่าแบบ Scalar จากตาราง

ค้นหาค่าจากคอลัมน์ในตารางอื่น โดยไม่ต้องมี Relationship

LOOKUPVALUE คืนค่า Scalar จาก Result_ColumnName โดยการค้นหาค่า Match_Value ใน Search_ColumnName นิยมใช้เมื่อไม่มี Relationship ระหว่างตาราง หรือเมื่อต้องค้นหาค่าจากหลายคอลัมน์

=LOOKUPVALUE(Result_ColumnName, Search_ColumnName, Match_Value, [Search_ColumnName2, Match_Value2]...)

By ThepExcel AI Agent
1 December 2025

Syntax & Arguments

=LOOKUPVALUE(Result_ColumnName, Search_ColumnName, Match_Value, [Search_ColumnName2, Match_Value2]...)

Argument Type Required Default Description
Result_ColumnName column Yes คอลัมน์ที่ต้องการดึงค่ากลับมา
Search_ColumnName column Yes คอลัมน์ที่ใช้ในการค้นหาในตารางอื่น
Match_Value any Yes ค่าที่ต้องการค้นหา (จาก Context ปัจจุบัน)

How it works

ค้นหาข้อมูลจากตารางที่ไม่มี Relationship

เช่น มีตาราง Sales กับตาราง ExchangeRate ที่ไม่มี Relationship กันโดยตรง แต่ต้องการดึงอัตราแลกเปลี่ยนตามวันที่

เมื่อมีหลายค่าที่ตรงกัน

สามารถใช้ LOOKUPVALUE ได้ แต่ถ้ามีหลายค่าจะเกิด Error ดังนั้นควรใช้ FILTER หรือ RELATED/SELECTVALUE แทนถ้ามีโอกาส

Examples

ตัวอย่างที่ 1: ดึงชื่อลูกค้าจาก Customer ID (ไม่มี Relationship)

ดึง CustomerName จากตาราง Customer โดยใช้ Sales[CustomerID] เป็นค่าค้นหาใน 'Customer'[CustomerID]
DAX Formula:

Customer Name = 
LOOKUPVALUE( 
    'Customer'[CustomerName], 
    'Customer'[CustomerID], Sales[CustomerID] 
)

Result:

ชื่อลูกค้าที่ตรงกับ CustomerID

ตัวอย่างที่ 2: ดึงอัตราแลกเปลี่ยน (Unrelated Tables)

ค้นหาอัตราแลกเปลี่ยนโดยใช้ 2 เงื่อนไข (Date และ Currency) เพื่อความแม่นยำ
DAX Formula:

Exchange Rate = 
LOOKUPVALUE( 
    'ExchangeRate'[Rate], 
    'ExchangeRate'[Date], Sales[OrderDate], 
    'ExchangeRate'[Currency], Sales[Currency] 
)

Result:

อัตราแลกเปลี่ยนของวันที่และสกุลเงินที่ตรงกัน

ตัวอย่างที่ 3: ดึงเป้ายอดขาย (Target) จากตารางเป้าหมาย

ตาราง Targets เก็บข้อมูลระดับ Year/Region ซึ่งเชื่อมกับ Sales ไม่ได้โดยตรง จึงใช้ LOOKUPVALUE ดึงค่ามาเปรียบเทียบ
DAX Formula:

Sales Target = 
LOOKUPVALUE(     Targets[Amount],     Targets[Year], YEAR(Sales[OrderDate]),     Targets[Region], Sales[Region] )

Result:

เป้ายอดขายของปีและภาคที่ตรงกัน

FAQs

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

RELATED ต้องมี Relationship และใช้แค่คอลัมน์เดียว (ฝั่ง Many -> One) ส่วน LOOKUPVALUE ไม่ต้องมี Relationship และระบุคอลัมน์จับคู่ได้หลายคอลัมน์ (แต่จะ Error ถ้าเจอหลายค่า)

ถ้าไม่เจอค่าจะคืนอะไร?

จะคืนค่า BLANK ถ้าไม่พบค่าที่ตรงกัน

Resources & Related

Additional Notes

LOOKUPVALUE คือฟังก์ชันที่ใช้สำหรับ ค้นหาค่า Scalar (ค่าเดียว) จากคอลัมน์ในตารางอื่น โดยมีเงื่อนไขการค้นหาที่ยืดหยุ่นกว่า RELATED

ข้อแตกต่างสำคัญจาก RELATED คือ LOOKUPVALUE ไม่จำเป็นต้องอาศัย Relationship ใน Data Model และคุณสามารถระบุคอลัมน์ที่ใช้ในการ Match ได้อย่างอิสระ

Leave a Reply

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