LOOKUPVALUE
อัปเดต 27 ก.ย. 2569 · ตัวเลขในตัวอย่างตรงกับตัวคำนวณอ้างอิงที่เขียนแยก และสูตร Excel ที่คำนวณจากข้อมูลชุดเดียวกัน · ยังไม่ได้ตรวจใน Power BI Desktop
เอกสารอ้างอิง: LOOKUPVALUE (Microsoft Learn) · syntax และหมายเหตุในหน้านี้ตรวจกับหน้านี้ของ Microsoft · ตัวจำลองในหน้านี้รองรับเฉพาะรูปแบบที่ใช้ในตัวอย่าง (เช่น ไม่รองรับ calendar-based time intelligence)
LOOKUPVALUE คืออะไร
หาค่าในคอลัมน์ผลลัพธ์จากแถวที่ตรงกับเงื่อนไขค้นหา ใช้กับตารางที่ไม่มีความสัมพันธ์ เช่น ตารางเป้าที่ทีมวางแผนพิมพ์มา
ใช้เมื่อไหร่
- ดึงค่าจากตารางที่ไม่ได้เชื่อมกับโมเดล เช่น ตารางเป้าหรืออัตราแลกเปลี่ยน
- ค้นด้วยหลายเงื่อนไขพร้อมกัน
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| result_columnName | จำเป็น | คอลัมน์ที่ต้องการค่า |
| search_columnName | จำเป็น | คอลัมน์ที่ใช้ค้นหา อยู่ตารางเดียวกับคอลัมน์ผลลัพธ์ |
| search_value | จำเป็น | ค่าที่ค้นหา ใส่คู่ค้นหาได้หลายคู่ |
| [alternateResult] | ไม่บังคับ | ค่าเมื่อไม่พบ หรือพบหลายแถวที่ให้ค่าต่างกัน ไม่ใส่ = ค่าว่าง (กรณีหลายค่าจะเป็น Error) |
ลองเลย: ยอดขายเทียบเป้าจากตารางเป้าภูมิภาค
คลิกตัวเลขในตารางเพื่อดูตัวกรองไหลผ่านโมเดลจนเป็นตัวเลขนั้น เลือกค่าใน Slicer แก้ Measure ได้ หรือกด Excel เพื่อดูสูตร Excel ที่ได้คำตอบเดียวกัน
- พนักงานขาย[ภูมิภาค] = "กลาง"
- สินค้าไม่มีตัวกรอง
- วันที่[ปี] = 2025
- ยอดขายเหลือ 96 จาก 495 แถว · หนึ่งจุดคือหนึ่งคำสั่งซื้อ
| ภูมิภาค | ยอดขาย | เป้าของภาค | % ถึงเป้า |
|---|---|---|---|
| กลาง | |||
| เหนือ | |||
| ตะวันออกเฉียงเหนือ | |||
| ตะวันออก | |||
| ใต้ | |||
| ยอดรวม |
ถ้าคุณเขียน Excel อยู่แล้ว
=XLOOKUP("กลาง", เป้าภูมิภาค[ภูมิภาค], เป้าภูมิภาค[เป้ายอดขาย], "")XLOOKUP ใส่ "" เป็นค่าเมื่อไม่พบ ให้ได้ช่องว่างเหมือน LOOKUPVALUE ค้นหาด้วยค่าเหมือนกัน ถ้าตารางมีความสัมพันธ์กันแล้ว DAX ใช้ RELATED ง่ายกว่า
เป้าของภาค = LOOKUPVALUE('เป้าภูมิภาค'[เป้ายอดขาย], 'เป้าภูมิภาค'[ภูมิภาค], SELECTEDVALUE('พนักงานขาย'[ภูมิภาค]))ตารางเป้าไม่ได้เชื่อมกับตารางอื่น จึงค้นด้วยชื่อภาคที่เลือก
ข้อผิดพลาดและเคล็ดลับ
แบบทดสอบ 3 ข้อ
1. LOOKUPVALUE ไม่พบแถวที่ตรง และไม่ได้ใส่ alternateResult ได้อะไร
ไม่พบได้ค่าว่าง ส่วนพบหลายแถวที่ค่าต่างกันจึงเป็น Error
2. ตารางมีความสัมพันธ์กันแล้ว ควรใช้อะไรดึงค่าในแถว
Microsoft แนะนำ RELATED เมื่อมีความสัมพันธ์
3. แถวยอดรวมของ LOOKUPVALUE(…, SELECTEDVALUE('พนักงานขาย'[ภูมิภาค])) ได้อะไร
ใส่ SUMX(VALUES(…), …) ถ้าต้องการผลรวม
ไฟล์ฝึก LOOKUPVALUE
9Expert-DAX-LOOKUPVALUE-Practice-v1.0.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1[เป้าของภาค] เป้ายอดขายของภาคจากตารางเป้าภูมิภาค · กรอง ภูมิภาค = ตะวันออกเฉียงเหนือ, ช่องทาง = Online, ปี = 2025
- ข้อ 2[เป้าของภาค] เป้ายอดขายของภาคจากตารางเป้าภูมิภาค · กรอง ภูมิภาค = เหนือ, ปี = 2025
- ข้อ 3[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = ตะวันออก, ช่องทาง = Modern Trade, ปี = 2024
- ข้อ 4[% ถึงเป้า] ยอดขายเทียบเป้าของภาค · กรอง ภูมิภาค = กลาง, ปี = 2024
- ข้อ 5[ยอดขาย] ยอดขายสุทธิ (จำนวน × ราคาต่อหน่วย × (1 − ส่วนลด)) · กรอง ภูมิภาค = เหนือ, ช่องทาง = Online, ปี = 2024
ไปต่อ
ต่อยอดใน Data Analysis Expression (DAX) for Power BI: Measures, X Aggregation, CALCULATE, Date Table และ Time Intelligence (2 วัน)