Power Query: คำสั่ง if - ซ้อน ifs & หลายเงื่อนไข
ใน Excel Power Query คำสั่ง IF เป็นหนึ่งในฟังก์ชันที่นิยมมากที่สุดในการตรวจสอบเงื่อนไขและส่งกลับค่าเฉพาะ โดยขึ้นอยู่กับว่าผลลัพธ์เป็น TRUE หรือ FALSE มีความแตกต่างบางประการระหว่างคำสั่ง if และฟังก์ชัน IF ของ Excel ในบทช่วยสอนนี้ ฉันจะแนะนำไวยากรณ์ของคำสั่ง if และตัวอย่างที่เรียบง่ายและซับซ้อนสำหรับคุณ
ไวยากรณ์คำสั่ง if พื้นฐานของ Power Query
Power Query if คำสั่งโดยใช้คอลัมน์เงื่อนไข
Power Query คำสั่ง if โดยการเขียนโค้ด M
ไวยากรณ์คำสั่ง if พื้นฐานของ Power Query
ใน Power Query ไวยากรณ์คือ:
- ลอจิคัล_ทดสอบ: เงื่อนไขที่คุณต้องการทดสอบ
- ค่า_if_จริง: ค่าที่จะส่งคืนหากผลลัพธ์เป็น TRUE
- ค่า_if_false: ค่าที่จะส่งคืนหากผลลัพธ์เป็น FALSE
ใน Excel Power Query มีสองวิธีในการสร้างตรรกะเงื่อนไขประเภทนี้:
- การใช้คุณสมบัติคอลัมน์เงื่อนไขสำหรับบางสถานการณ์พื้นฐาน
- การเขียนรหัส M สำหรับสถานการณ์ขั้นสูงเพิ่มเติม
ในหัวข้อต่อไปนี้ ผมจะพูดถึงตัวอย่างการใช้คำสั่ง if นี้
Power Query if คำสั่งโดยใช้คอลัมน์เงื่อนไข
ตัวอย่างที่ 1: คำสั่ง if พื้นฐาน
ที่นี่ ฉันจะแนะนำวิธีการใช้ if คำสั่งนี้ใน Power Query ตัวอย่างเช่น ฉันมีรายงานสินค้าต่อไปนี้ หากสถานะสินค้าเป็น เก่า แสดงส่วนลด 50%; หากสถานะสินค้าเป็น New แสดงส่วนลด 20% ตามภาพหน้าจอด้านล่าง
1. เลือกตารางข้อมูลจากเวิร์กชีต จากนั้นใน Excel 2019 และ Excel 365 ให้คลิก ข้อมูล > จากตาราง/ช่วงดูภาพหน้าจอ:
หมายเหตุ: ใน Excel 2016 และ Excel 2021 ให้คลิก ข้อมูล > จากตารางดูภาพหน้าจอ:
2. จากนั้นในช่องเปิด ตัวแก้ไข Power Query หน้าต่างคลิก เพิ่มคอลัมน์ > คอลัมน์เงื่อนไขดูภาพหน้าจอ:
3. ในการโผล่ออกมา เพิ่มคอลัมน์เงื่อนไข โปรดดำเนินการดังต่อไปนี้:
- ชื่อคอลัมน์ใหม่: ป้อนชื่อสำหรับคอลัมน์ใหม่
- จากนั้นระบุเกณฑ์ที่คุณต้องการ ตัวอย่างเช่นฉันจะระบุ หากสถานะเท่ากับเก่าแล้ว 50% อื่น 20%;
- ชื่อคอลัมน์: คอลัมน์สำหรับประเมินเงื่อนไข if ของคุณ ที่นี่ ฉันเลือกสถานะ
- ผู้ประกอบการ: ตรรกะเงื่อนไขที่จะใช้ ตัวเลือกจะแตกต่างกันไปตามประเภทข้อมูลของชื่อคอลัมน์ที่เลือก
- ข้อความ: ขึ้นต้นด้วย ไม่ขึ้นต้นด้วย เท่ากับ ประกอบด้วย ฯลฯ
- เบอร์: เท่ากับ ไม่เท่ากับ มากกว่าหรือเท่ากับ ฯลฯ
- วันที่: อยู่ก่อน อยู่หลัง เท่ากับ ไม่เท่ากัน ฯลฯ
- ความคุ้มค่า: ค่าเฉพาะเพื่อเปรียบเทียบการประเมินของคุณ ร่วมกับชื่อคอลัมน์และตัวดำเนินการประกอบกันเป็นเงื่อนไข
- เอาท์พุต: ค่าที่จะส่งคืนหากตรงตามเงื่อนไข
- อื่น: ค่าอื่นที่จะส่งกลับเมื่อเงื่อนไขเป็นเท็จ
4. จากนั้นคลิก OK ปุ่มเพื่อกลับไปที่ ตัวแก้ไข Power Query หน้าต่าง. ตอนนี้ใหม่ ส่วนลด เพิ่มคอลัมน์ ดูภาพหน้าจอ:
5. หากคุณต้องการจัดรูปแบบตัวเลขเป็นเปอร์เซ็นต์ ให้คลิก ABC123 ไอคอนจาก ส่วนลด ส่วนหัวของคอลัมน์ แล้วเลือก ร้อยละ ตามที่คุณต้องการดูภาพหน้าจอ:
6. สุดท้ายกรุณาคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด เพื่อโหลดข้อมูลนี้ไปยังแผ่นงานใหม่
ตัวอย่างที่ 2: คำสั่ง if ที่ซับซ้อน
ด้วยตัวเลือกคอลัมน์เงื่อนไขนี้ คุณยังสามารถแทรกเงื่อนไขสองเงื่อนไขขึ้นไปใน เพิ่มคอลัมน์เงื่อนไข กล่องโต้ตอบ กรุณาทำสิ่งนี้:
1. เลือกตารางข้อมูลแล้วไปที่ ตัวแก้ไข Power Query หน้าต่างโดยคลิก ข้อมูล > จากตาราง/ช่วง. ในหน้าต่างใหม่คลิก เพิ่มคอลัมน์ > คอลัมน์เงื่อนไข.
2. ในการโผล่ออกมา เพิ่มคอลัมน์เงื่อนไข โปรดดำเนินการดังต่อไปนี้:
- ป้อนชื่อสำหรับคอลัมน์ใหม่ลงใน ชื่อคอลัมน์ใหม่ กล่องข้อความ;
- ระบุเกณฑ์แรกลงในฟิลด์เกณฑ์แรก จากนั้นคลิก เพิ่มข้อ ปุ่มเพื่อเพิ่มช่องเกณฑ์อื่นๆ ตามที่คุณต้องการ
3. เมื่อครบเกณฑ์แล้วให้คลิก OK ปุ่มเพื่อกลับไปที่ ตัวแก้ไข Power Query หน้าต่าง. ตอนนี้ คุณจะได้รับคอลัมน์ใหม่พร้อมผลลัพธ์ที่คุณต้องการ ดูภาพหน้าจอ:
4. สุดท้ายกรุณาคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด เพื่อโหลดข้อมูลนี้ไปยังแผ่นงานใหม่
Power Query คำสั่ง if โดยการเขียนโค้ด M
โดยปกติแล้ว Conditional Column จะมีประโยชน์สำหรับบางสถานการณ์พื้นฐาน บางครั้ง คุณอาจต้องใช้หลายเงื่อนไขด้วยตรรกะ AND หรือ OR ในกรณีนี้ คุณต้องเขียนโค้ด M ภายในคอลัมน์แบบกำหนดเองสำหรับสถานการณ์ที่ซับซ้อนมากขึ้น
ตัวอย่างที่ 1: คำสั่ง if พื้นฐาน
ใช้ข้อมูลแรกเป็นตัวอย่าง หากสถานะสินค้าเป็น เก่า แสดงส่วนลด 50%; หากสถานะสินค้าเป็น New แสดงส่วนลด 20% สำหรับการเขียนรหัส M โปรดทำดังนี้:
1. เลือกตารางแล้วคลิก ข้อมูล > จากตาราง/ช่วง ไป ตัวแก้ไข Power Query หน้าต่าง
2. ในหน้าต่างที่เปิดอยู่ ให้คลิก เพิ่มคอลัมน์ > คอลัมน์ที่กำหนดเองดูภาพหน้าจอ:
3. ในการโผล่ออกมา คอลัมน์ที่กำหนดเอง โปรดดำเนินการดังต่อไปนี้:
- ป้อนชื่อสำหรับคอลัมน์ใหม่ลงใน ชื่อคอลัมน์ใหม่ กล่องข้อความ;
- จากนั้นป้อนสูตรนี้: ถ้า [สถานะ] = "เก่า" แล้ว "50%" อื่น "20%" เข้าไปใน คอลัมน์ที่กำหนดเอง สูตร กล่อง.
4. จากนั้นคลิก OK เพื่อปิดกล่องโต้ตอบนี้ ตอนนี้ คุณจะได้รับผลลัพธ์ต่อไปนี้ตามที่คุณต้องการ:
5. ในที่สุดคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด เพื่อโหลดข้อมูลนี้ไปยังแผ่นงานใหม่
ตัวอย่างที่ 2: คำสั่ง if ที่ซับซ้อน
โดยปกติแล้ว ในการทดสอบเงื่อนไขย่อย คุณสามารถซ้อนคำสั่ง if ได้หลายคำสั่ง ตัวอย่างเช่น ฉันมีตารางข้อมูลด้านล่าง หากสินค้าเป็น “เดรส” ให้ส่วนลด 50% จากราคาเดิม หากสินค้าเป็น “สเวตเตอร์” หรือ “มีฮู้ด” ให้ส่วนลด 20% จากราคาเดิม และสินค้าอื่นๆยังคงราคาเดิม
1. เลือกตารางข้อมูล แล้วคลิก ข้อมูล > จากตาราง/ช่วง ไป ตัวแก้ไข Power Query หน้าต่าง
2. ในหน้าต่างที่เปิดอยู่ ให้คลิก เพิ่มคอลัมน์ > คอลัมน์ที่กำหนดเอง. ในการเปิด คอลัมน์ที่กำหนดเอง โปรดดำเนินการดังต่อไปนี้:
- ป้อนชื่อสำหรับคอลัมน์ใหม่ลงใน ชื่อคอลัมน์ใหม่ กล่องข้อความ;
- จากนั้นป้อนสูตรด้านล่างลงใน คอลัมน์ที่กำหนดเอง สูตร กล่อง.
- = ถ้า [สินค้า] = "ชุดเดรส" ดังนั้น [ราคา] * 0.5 อื่น
ถ้า [สินค้า] = "สเวตเตอร์" ดังนั้น [ราคา] * 0.8 อื่น
ถ้า [Product] = "Hoodie" ดังนั้น [ราคา] * 0.8
อื่นๆ [ราคา]
3. จากนั้นคลิก OK ปุ่มเพื่อกลับไปยัง ตัวแก้ไข Power Query หน้าต่าง และคุณจะได้รับคอลัมน์ใหม่พร้อมข้อมูลที่คุณต้องการ ดูภาพหน้าจอ:
4. ในที่สุดคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด เพื่อโหลดข้อมูลนี้ไปยังแผ่นงานใหม่
ตรรกะ OR ทำการทดสอบเชิงตรรกะหลายชุด และผลลัพธ์จริงจะส่งคืนหากการทดสอบเชิงตรรกะใดๆ เป็นแบบ ture ไวยากรณ์คือ:
สมมติว่าฉันมีตารางด้านล่าง ตอนนี้ฉันต้องการให้คอลัมน์ใหม่แสดงเป็น: หากผลิตภัณฑ์คือ "เดรส" หรือ "เสื้อยืด" แบรนด์คือ "AAA" แบรนด์ของผลิตภัณฑ์อื่นคือ "BBB"
1. เลือกตารางข้อมูล แล้วคลิก ข้อมูล > จากตาราง/ช่วง ไป ตัวแก้ไข Power Query หน้าต่าง
2. ในหน้าต่างที่เปิดอยู่ ให้คลิก เพิ่มคอลัมน์ > คอลัมน์ที่กำหนดเองในช่องเปิด คอลัมน์ที่กำหนดเอง โปรดดำเนินการดังต่อไปนี้:
- ป้อนชื่อสำหรับคอลัมน์ใหม่ลงใน ชื่อคอลัมน์ใหม่ กล่องข้อความ;
- จากนั้นป้อนสูตรด้านล่างลงใน สูตรคอลัมน์ที่กำหนดเอง กล่อง.
- = ถ้า [สินค้า] = "ชุดเดรส" หรือ [สินค้า] = "เสื้อยืด" ให้เลือก "AAA"
อื่น ๆ "BBB"
3. จากนั้นคลิก OK ปุ่มเพื่อกลับไปยัง ตัวแก้ไข Power Query หน้าต่าง และคุณจะได้รับคอลัมน์ใหม่พร้อมข้อมูลที่คุณต้องการ ดูภาพหน้าจอ:
4. สุดท้ายคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด เพื่อโหลดข้อมูลนี้ไปยังแผ่นงานใหม่
ตรรกะ AND ทำการทดสอบเชิงตรรกะหลายรายการภายในคำสั่ง if เดียว การทดสอบทั้งหมดจะต้องเป็นจริงเพื่อส่งกลับผลลัพธ์ที่แท้จริง หากการทดสอบใดเป็นเท็จ ระบบจะส่งคืนผลลัพธ์ที่เป็นเท็จ ไวยากรณ์คือ:
จากข้อมูลข้างต้น ตัวอย่างเช่น ฉันต้องการให้คอลัมน์ใหม่แสดงเป็น: หากสินค้าเป็น "เดรส" และสั่งซื้อมากกว่า 300 ตัว ให้ส่วนลด 50% สำหรับราคาเดิม มิฉะนั้นคงราคาเดิม
1. เลือกตารางข้อมูล แล้วคลิก ข้อมูล > จากตาราง/ช่วง ไป ตัวแก้ไข Power Query หน้าต่าง
2. ในหน้าต่างที่เปิดอยู่ ให้คลิก เพิ่มคอลัมน์ > คอลัมน์ที่กำหนดเอง. ในการเปิด คอลัมน์ที่กำหนดเอง โปรดดำเนินการดังต่อไปนี้:
- ป้อนชื่อสำหรับคอลัมน์ใหม่ลงใน ชื่อคอลัมน์ใหม่ กล่องข้อความ;
- จากนั้นป้อนสูตรด้านล่างลงใน สูตรคอลัมน์ที่กำหนดเอง กล่อง.
- = ถ้า [สินค้า] ="เดรส" และ [Order] > 300 แล้ว [ราคา]*0.5
อื่นๆ [ราคา]
3. จากนั้นคลิก OK ปุ่มเพื่อกลับไปยัง ตัวแก้ไข Power Query หน้าต่าง และคุณจะได้รับคอลัมน์ใหม่พร้อมข้อมูลที่คุณต้องการ ดูภาพหน้าจอ:
4. สุดท้าย คุณควรโหลดข้อมูลนี้ลงในแผ่นงานใหม่โดยคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด.
ถ้าคำสั่งที่มี OR และ AND Logics
เอาล่ะ ตัวอย่างก่อนหน้านี้เข้าใจง่ายสำหรับเรา ตอนนี้มาทำให้ยากขึ้น คุณสามารถรวม AND และ OR เพื่อสร้างเงื่อนไขใดๆ ก็ตามที่คุณจินตนาการได้ ในประเภทนี้ คุณสามารถใช้วงเล็บในสูตรเพื่อกำหนดกฎที่ซับซ้อนได้
ใช้ข้อมูลข้างต้นเป็นตัวอย่างเช่นกัน สมมติว่าฉันต้องการให้คอลัมน์ใหม่แสดงเป็น: หากสินค้าเป็น "เดรส" และมีลำดับมากกว่า 300 หรือสินค้าเป็น "กางเกง" และมีลำดับมากกว่า 300 ให้แสดง “A+”, อื่น ๆ, แสดง “อื่น ๆ”.
1. เลือกตารางข้อมูล แล้วคลิก ข้อมูล > จากตาราง/ช่วง ไป ตัวแก้ไข Power Query หน้าต่าง
2. ในหน้าต่างที่เปิดอยู่ ให้คลิก เพิ่มคอลัมน์ > คอลัมน์ที่กำหนดเอง. ในการเปิด คอลัมน์ที่กำหนดเอง โปรดดำเนินการดังต่อไปนี้:
- ป้อนชื่อสำหรับคอลัมน์ใหม่ลงใน ชื่อคอลัมน์ใหม่ กล่องข้อความ;
- จากนั้นป้อนสูตรด้านล่างลงใน สูตรคอลัมน์ที่กำหนดเอง กล่อง.
- =if ([Product] = "เดรส" และ [Order] > 300 ) หรือ
([สินค้า] = "กางเกง" และ [สั่งซื้อ] > 300 )
จากนั้น "A+"
อื่นๆ "อื่นๆ"
3. จากนั้นคลิก OK ปุ่มเพื่อกลับไปยัง ตัวแก้ไข Power Query หน้าต่าง และคุณจะได้รับคอลัมน์ใหม่พร้อมข้อมูลที่คุณต้องการ ดูภาพหน้าจอ:
4. สุดท้าย คุณควรโหลดข้อมูลนี้ลงในแผ่นงานใหม่โดยคลิก หน้าแรก > ปิดและโหลด > ปิดและโหลด.
ในกล่องสูตรคอลัมน์แบบกำหนดเอง คุณสามารถใช้ตัวดำเนินการทางตรรกะต่อไปนี้:
- = : เท่ากับ
- <> : ไม่เท่ากับ
- > : มากกว่า
- >= : มากกว่าหรือเท่ากับ
- < : น้อยกว่า
- <= : น้อยกว่าหรือเท่ากับ
เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด
Kutools สำหรับ Excel แก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%
- นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
- ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
- ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
- เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
- สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
- แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
- ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
- รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
- คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office/Excel 2007-2021 และ 365 รองรับทุกภาษา ง่ายต่อการปรับใช้ในองค์กรหรือองค์กรของคุณ คุณสมบัติเต็มรูปแบบ ทดลองใช้ฟรี 30 วัน รับประกันคืนเงินภายใน 60 วัน

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
