วันพฤหัสบดีที่ 11 ตุลาคม พ.ศ. 2555

การใช้ฟังก์ชัน IFERROR กับ VLOOKUP

การพัฒนาฟีเจอร์ต่างๆ ของ MS Office ทำให้เกิดฟังก์ชันใหม่ๆ ที่ใช้งานง่ายขึ้นและสามารถใช้ตรวจสอบความถูกต้องได้ดีขึ้น
โดยที่เวอร์ชั่นเก่าจะต้องใช้หลายฟังก์ชันซ้อนกัน และฟังก์ชัน IFERROR ก็เป็นหนึ่งฟังก์ชันที่พูดถึง

IFERROR ทำหน้าที่คล้าย IF เพียงแต่เพิ่มศักยภาพการจัดการกับข้อมูลได้กว้างขึ้นและตรวจสอบความถูกต้องไปพร้อมๆ กัน
ไวยากรณ์และความหมาย

IFERROR(value,value_if_error)

  • value คืออาร์กิวเมนต์ที่ใช้ตรวจสอบเพื่อหาข้อผิดพลาด
  • value_if_error คือค่าที่จะส่งกลับถ้า value ได้ผลลัพท์เป็นค่าความผิดพลาด(Error_val) และชนิดของค่าความผิดพลาดที่จะทำให้ฟังก์ชันส่งคืนค่า value_if_error มีอยู่ 7 ชนิด
    1. #N/A
    2. #VALUE!
    3. #REF!
    4. #DIV/0!
    5. #NUM!
    6. #NAME?
    7. #NULL!


โจทย์ตัวอย่างทดสอบการใช้ IFERROR

RowColumn
2ABCDE
3ProductPriceDis. Dis.PriceFormula in Dis.Price
4Ice-Cream Maker C30
5,400
3%
5,238
=IFERROR(B4-(B4*C4),B4)
5Ice-Cream Maker C45
9,100
5%
8,645
=IFERROR(B5-(B5*C5),B5)
6Ice-Cream Maker C50
17,900
7%
16,647
=IFERROR(B6-(B6*C6),B6)
7Mini Prep Processor
3,600
3,600
=IFERROR(B7-(B7*C7),B7)
8Soup Blender SB30
10,000
3%
9,700
=IFERROR(B8-(B8*C8),B8)
9Stick hand Blender 
3,000

3,000
=IFERROR(B9-(B9*C9),B9)
10Waffle Maker WF20
5,800
2%
5,684
=IFERROR(B10-(B10*C10),B10)

จากตัวอย่างกำหนดให้ Dis.Price เป็นราคาสุทธิที่หักส่วนลด (Dis.) ตามเปอร์เซนต์ที่กำหนดไว้โดยให้ Price เป็นราคาฐานที่่ใช้คำนวณส่วนลด และถ้าสินค้าชนิดใดไม่มีส่วนลด (Dis.) ให้ใช้ราคาปกติ (Price) ซึ่งจะแสดงสูตรที่ใช้ในคอลัมท์ Formula in Dis.Price

using IFERROR function
นอกจากนี้ถ้าเราใช้ IFFEROR ร่วมกับ Vlookup เพื่อให้สูตรคืนค่าผลลัพท์จากสองฐานข้อมูลได้ในเวลาเดียวกัน ซึ่งจะเป็นข้อมูลจาก Worksheet เดียวกัน หรือ ต่าง Worksheet ก็ได้

ตัวอย่างถัดไปเป็นการทดสอบ IFERROR ร่วมกับ VLOOKUP
เราจะใช้ข้อมูลจากรูปเป็นฐานข้อมูล ซึ่งข้อมูลด้านซ้ายเป็นจำนวนสต็อคสินค้าของ LED TV และด้านขวาเป็นจำนวนสต็อคสินค้าของ Kitchenware
RowColumn
2ABC
3LED TVQTY
41LG
300
52SAMSUNG
250
63PANASONIC
120
74BRAVIA
90
85TOSHIBA
560
96SUNYO
50
10
11
12

E FG
KICHENWAREQTY
1OTTO
1,110
2IMARFLEX
500
3HOUSE WORTH
459
4MISAWA
50
5VICTOR
89
6SHARP
300
7PHILIPS
70
8DEBRANDT
79
9CUISINART
250

เราจะใช้การค้นหาจำนวนสต็อคของสินค้า 2 หมวดนี้ โดยใช้ฟังก์ชัน IFERROR ที่ โดยใช้เซลล์ A13 เป็นตัวกำหนดเงื่อนไข ให้หาจำนวนสินค้าในสต็อคแบรนด์ Cuisinart ว่ามีจำนวนกี่หน่วย ซึ่งผลลัพท์เท่ากับ 250 ที่เซลล์ B13 และ C13 เป็นรูปแบบฟังก์ชัน IFERROR ที่ใช้ใน B13
และ ที่ เซลล์ A14 เป็นการทดสอบสูตรแบบเดียวกันเพียงแต่เปลี่ยนเป็น แบรนด์ LG ได้คำตอบ 300 หน่วย (B14), แสดงสูตรที่ (C14)

RowColumn
11ABC
12BrandQty.Formula in Qty. (Column B)
13CUISINART
250
=IFERROR(VLOOKUP(A13,B4:C9,2,FALSE),(VLOOKUP(A13,F4:G12,2,FALSE)))
14 LG300=IFERROR(VLOOKUP(A14,B4:C9,2,FALSE),(VLOOKUP(A13,F4:G12,2,FALSE)))

Reactions:

0 comments:

แสดงความคิดเห็น