วันศุกร์ที่ 3 กันยายน พ.ศ. 2553

Excel function ตอน การค้นหาค่า Max & Min (Custom LOOKUP)

สวัสดีวันฝนตกครับ เข้าสู่เดือนเก้ามาสามวันฝนตกทุกวันเลยครับที่ กรุงเทพ วันนี้บทความด้าน Excel ที่อยากนำเสนอคือ การใช้งานฟังก์ชัน Max และ ฟังก์ชัน Min ซึ่งมีประโยชน์มากในการทำรายงานด้วย Excel เสนอผู้บริหาร มาดูรูปแบบของ Excel Function ทั้งสองกันเลยครับ

ฟังก์ชัน Max เป็นฟังก์ชันที่คืนค่ามากสุดในช่วงข้อมูล(เซลล์)ที่เลือกกลับมาขณะที่ฟังก์ชัน Min ก็จะคืนค่าน้อยสุดในช่วงข้อมูล(เซลล์)ที่เลือกกลับมา โดยข้อมูลที่เลือกต้องเป็นตัวเลขเท่านั้น

มาดูตัวอย่างสูตร excel กันเลยครับ

สมมุติผมมีข้อมูลยอดขายบันทึกไว้ที่ไฟล์ excel ดังนี้

 

A

B

1

มกราคม

76212

2

กุมภาพันธ์

15379

3

มีนาคม

62220

4

เมษายน

83119

5

พฤษภาคม

33872

6

มิถุนายน

80881

7

กรกฎาคม

54263

8

สิงหาคม

35472

9

กันยายน

55361

10

ตุลาคม

71600

11

พฤศจิกายน

13330

12

ธันวาคม

22587

หากต้องการทราบยอดขายสูงสุดในรอบปีก็สามารถเขียนสูตร Excel ได้ดังนี้

= Max(B1:B12)

ซึ่งจะคืนค่า 83119 กลับมาให้ครับ

ในกรณีกลับกันหากต้องการทราบยอดขายต่ำสุดในรอบปีก็สามารถเขียนสูตร Excel ได้ดังนี้

=Min(B1:B12)

ซึ่งจะคืนค่า 13330 กลับมาให้ครับ

แต่ในความเป็นจริงผู้บริหารคงไม่ต้องการทราบแค่ยอดขายสูงสุดหรือต่ำสุดแน่ๆ สิ่งที่ผู้บริหารอยากทราบต่อคือ แล้วมันเกิดขึ้นเดือนไหนกันบ้าง ใช่แล้วครับเราต้องประยุกต์ Excel function ที่ผมเคยนำเสนอมาแล้ว ก่อนอื่นมาคิดกันก่อนครับ หากเราอยากทราบเดือนที่ยอดขายสูงหรือต่ำเราต้องทราบตำแหน่งของข้อมูลก่อน ซึ่งฟังก์ชันที่ใช้ก็คือฟังก์ชัน MATCH จากนั้นก็ใช้ฟังก์ชัน INDEX แสดงข้อมูลเดือนที่มียอดขายสูงสุดหรือต่ำสุดต่อไป สมมุติผมอยากทราบเดือนที่มียอดขายสูงสุด มาดูสูตร Excel กันเลยครับ

=MATCH(83119 ,$B$1:$B$12,0) ซึ่งจะคืนค่า 4 กลับมา หมายถึงว่ายอดขายสูงสุดอยู่ในลำดับที่ 4 ของช่วงข้อมูล $B$1:$B$12 จากนั้นเราจะใช้ฟังก์ชัน INDEX ให้คืนค่าข้อมูลในลำดับเดียวกันในช่วงข้อมูลเดือน(A1:A12) โดยเขียนสูตร Excel ได้ดังนี้

=INDEX($A$1:$A$12,4) ซึ่งจะคืนค่า เมษายน กลับมาให้ผู้ใช้ครับ

จากที่อธิบายมาเราสามารถรวมเป็นสูตร Excel เดียว โดยแทนเลข 4 ด้วยสูตร Match และแทนค่า 83119 ด้วยสูตร Max ได้ดังนี้

=INDEX($A$1:$A$12,MATCH(Max(B1:B12) ,$B$1:$B$12,0))

หากท่านผู้อ่านต้องการหาเดือนที่มียอดขายต่ำที่สุดก็เปลี่ยนฟังก์ชันMax เป็น Min ซึ่งสามารถทำได้โดยง่าย

จากเนื้อหาบทความนี้หวังว่าท่านผู้อ่านคงสามารถนำไปประยุกต์ใช้กับงานของทุกท่านได้ ไว้โอกาสหน้าผมจะนำเสนอวิธีการประยุกต์วิธีการนี้ในการประมาณค่าในตารางข้อมูลต่อไปครับ ทิ้งท้ายไว้ซักนิด หากเดือนที่ยอดขายต่ำสุดมีมากกว่าหนึ่งเดือน สูตร Excel นี้จะใช้ได้หรือไม่ครับ ไปทดลองดูนะครับ แล้วพบกันฉบับหน้า สวัสดีครับ

วันพุธที่ 1 กันยายน พ.ศ. 2553

Excel VLOOKUP ตอน ป้องกันการแสดง #N/A

สวัสดีครับท่านผู้อ่าน How to VBA Excel วันนี้ได้ลองย้อนกลับไปอ่านบทความเก่าๆใน Blog นี้มีบทความอยู่ 2-3 บทความที่กล่าวถึง VLOOKUP ซึ่งเป็น Excel Function ที่ผมได้นำเสนอไปในตอนแรกๆเนื่องจาก VLOOKUP เป้นฟังก์ชันที่ช่วยอำนวยความสะดวกให้กับผู้ใช้งาน Excel ที่เกี่ยวข้องกับการค้นหาข้อมูลในตารางได้ดีมาก แต่ผมเองกลับพบความบกพร่องของการนำเสนอบทความที่ประยุกต์ใชฟังก์ชัน VLOOKUP เหล่านี้ของผมเอง นั่นคือการไม่ได้กล่าวถึงข้อผิดพลาดที่ฟังก์ชัน VLOOKUP ส่งกลับมาครับ วันนี้เลยขอนำเสนอในปัญหานี้ครับ ที่มาของข้อผิดพลาดของ ฟังก์ชัน VLOOKUP ผมได้กล่าวไปแล้วในบทความเหล่านั้น ซึ่งจะเกิดจากการที่ Excel ไม่พบข้อมูลที่ต้องการค้นหาในหลักที่เรากำหนดในตารางข้อมูลนั้น ผลที่ถูกส่งกลับจาก VLOOKUP ก็คือ #N/A ซึ่งจะแสดงในเซลล์ที่เรากำหนด ทีนี้หากเราไม่ต้องการให้ excel แสดงค่า #N/A ออกมาในกรณีการใช้สูตร VLOOKUP เราจะใช้ฟังก์ชัน ISNA ในการตรวจค่าที่ถูกส่งกลับมาจาก VLOOKUP ว่าใช่ #N/A หรือไม่ หากใช่ ISNA จะคืนค่า true กลับมา หากไม่ใช่ จะคืนค่า false กลับมา ลองมาคิดกันแบบภาษามนุษย์เรานะครับ “ถ้า VLOOKUP ส่งค่า #N/A ให้แสดงข้อความว่า “หาไม่พบ” แต่หากหาพบให้แสดงค่านั้นออกมา” มาดูตัวอย่างกันเลยครับตามภาพที่ 1

Prevent_Error_From_VLOOKUP

ภาพที่ 1 ผลการประยุกต์ใช้ ISNA เพื่อตรวจสอบการคืนค่าจาก VLOOKUP

จากสูตร Excel ที่เราประยุกต์ใช้ โปรดระวังความผิดพลาดจากข้อมูลที่เราต้องการค้นหาด้วยนะครับ ลองกลับไปดูบทความที่ผมเคยนำเสนอปัญหานี้กันได้ครับ

ทิ้งท้ายกันก่อนจบบทความนี้ครับ ท่านผู้อ่านคิดว่าการค้นหาข้อมูลที่มีอยู่ด้วยสูตร Excel ที่ผมนำเสนอวันนี้เป็นวิธีการที่ดีที่สุดรึยัง หากผมมีเรคคอร์ดในตารางมากๆสูตรนี้จะมีประสิทธิภาพสูงสุดในแง่ของเวลาในการคำนวณหรือไม่ ผมเคยมีประสบการณ์ในการโอนย้ายข้อมูล ขอบอกว่าสูตรนี้ไม่เหมาะเป็นอย่างยิ่งในการใช้งาน เพราะ Excel ต้องใช้ VLOOKUP ค้นหาข้อมูลถึงสองครั้งในแต่แถวข้อมูลที่ต้องการค้นหา เดี๋ยวผมมีสูตร Excel อีกสูตรหนึ่งมานำเสนอครับ พบกันในบทความต่อไปนะครับ

Yahoo bot last visit powered by  Ybotvisit.com