05 March 2025

ขอโทษด้วยนะครับ สาเหตุที่ผมสอนสูตรยาวๆ เพราะอยากให้เรียนหลายๆวิธี ไม่ใช่คิดไม่ออก


สูตรพวกค้นหาค่าแทบทั้งหมด ไม่ว่า XLookup, VLookup, Match+Index ตามปกติจะใช้กับการหาค่าที่จัดเก็บไวัในตารางตามแนวเดียวกันกับค่าที่ใช้ค้นหา เช่น หาจากชื่อสินค้าว่าขายออกไปเท่าไร ทั้งเซลล์ชื่อกับเซลล์ยอดขายก็ต้องเก็บไว้ในรายการเดียวกัน

แต่ถ้าในหน้ารายงานการขาย ยอดขายไม่ได้วางไว้ในแนวเดียวกันกับชื่อสินค้าล่ะ จะใช้สูตรยังไง เช่น ตามภาพนี้ตารางด้านซ้ายใน Column B ใส่ชื่อสินค้า a b c d เอาไว้ ส่วนยอดขายของสินค้าแต่ละตัวใน Column D กลับวางเยื้องกับชื่อสินค้า 


ซึ่งหน้าตาแบบนี้พบเสมอในหน้ารายงานที่ด้านล่างสุดของแต่ละตารางจะแสดงยอดรวมเอาไว้

ตามภาพนี้ในเซลล์ H2 พอใส่ชื่อสินค้า c ลงไป จะต้องหายอดขาย 333 ออกมาด้วยสูตรอะไรดีหนอ

กว่าจะหายอดขายออกมา ได้เรียนสูตรกันหนำใจไปเลย ทำได้อย่างน้อย 3 วิธี

สำหรับคนที่ใช้ 365 จะใช้สูตร XLookup ก็ยังได้ กลายเป็นวิธีที่ 4
=XLookup( H2, B2:B17, D5:D20)

ทั้ง 4 วิธีนี้สามารถหาค่าได้ทั้งตัวเลขหรือตัวอักษร แต่ถ้ากำหนดว่าให้หายอดขาย ซึ่งแน่นอนว่ายอดขายต้องเป็นตัวเลข ไม่มีทางที่จะกรอกยอดขายเป็นตัวอักษร จะมีสูตร SumIF อีกวิธี

=SumIF( B2:B17, H2, D5)

นี่เป็นนิสัยวิธีการสอนของผม ชอบไหมครับ ได้เรียนแบบนี้ ตอนจบจะได้เรียนวิธีซ้อนสูตร ทำให้เป็น Mega Formula ใช้แค่เซลล์เดียวสร้างสูตรหาคำตอบได้เลย

================================


=SumIF( B2:B17, H2, D5) ดีกว่าสูตรอื่นๆตามภาพนี้ยังไง

1. สั้นกว่า

2. ถ้าหาค่าไม่พบจะไม่ error แต่จะหาค่า 0 ออกมาให้ซึ่งนำไปคำนวณต่อได้ทันที ไม่เสียเวลามาแก้ error

3. ไม่จำเป็นต้องกำหนดพื้นที่ของคำตอบยอดขายให้มีขนาดเท่ากันกับพื้นที่ที่ใช้เก็บชื่อสินค้า กำหนดแค่เซลล์ D5 ก็พอ ตัวสูตรจะกำหนดขอบเขตให้เอง

จำหลักไว้นะครับว่า ถ้าค่าที่ต้องการหาเป็นตัวเลข และมั่นใจว่าไม่มีค่าซ้ำ ให้โยนสูตรอื่นทิ้งไป หันมาใช้ SumIF สะดวกกว่า

================================ 

ผมอธิบายที่ไปที่มาของ 3 วิธีไว้ที่ https://www.excelexperttraining.com/book/index.php/course-manuals/excel-expert-managing-data/finding-data-from-last-line 

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.