สารบัญ
ในบทช่วยสอนนี้ คุณจะพบตัวอย่างสูตรขั้นสูงจำนวนหนึ่งที่สาธิตวิธีใช้ฟังก์ชัน VLOOKUP และ SUM หรือ SUMIF ของ Excel เพื่อค้นหาและรวมค่าตามเกณฑ์หนึ่งหรือหลายเกณฑ์
คุณกำลังพยายามสร้างไฟล์สรุปใน Excel ที่จะระบุอินสแตนซ์ทั้งหมดของค่าใดค่าหนึ่ง แล้วรวมค่าอื่นๆ ที่เชื่อมโยงกับอินสแตนซ์เหล่านั้นหรือไม่ หรือคุณต้องการหาค่าทั้งหมดในอาร์เรย์ที่ตรงตามเงื่อนไขที่คุณระบุ แล้วรวมค่าที่เกี่ยวข้องจากเวิร์กชีตอื่นหรือไม่ หรือบางทีคุณอาจเผชิญกับความท้าทายที่เป็นรูปธรรมมากขึ้น เช่น การดูตารางใบแจ้งหนี้ของบริษัท ระบุใบแจ้งหนี้ทั้งหมดของผู้จำหน่ายรายใดรายหนึ่ง แล้วสรุปมูลค่าใบแจ้งหนี้ทั้งหมด
งานอาจแตกต่างกันไป แต่ สาระสำคัญเหมือนกัน - คุณต้องการค้นหาและรวมค่าด้วยเกณฑ์หนึ่งหรือหลายเกณฑ์ใน Excel ค่านิยมแบบไหน? ค่าตัวเลขใดๆ หลักเกณฑ์ประเภทใด? ใดๆ : ) เริ่มต้นจากตัวเลขหรือการอ้างอิงไปยังเซลล์ที่มีค่าที่ถูกต้อง และลงท้ายด้วยตัวดำเนินการเชิงตรรกะและผลลัพธ์ที่ส่งคืนโดยสูตร Excel
ดังนั้น Microsoft Excel มีฟังก์ชันการทำงานใดบ้างที่สามารถช่วยงานข้างต้นได้ ? แน่นอน มันไม่! คุณสามารถหาทางออกได้โดยการรวม VLOOKUP หรือ LOOKUP ของ Excel เข้ากับฟังก์ชัน SUM หรือ SUMIF ตัวอย่างสูตรต่อไปนี้จะช่วยให้คุณเข้าใจวิธีการทำงานของฟังก์ชัน Excel และวิธีการนำไปใช้เวอร์ชันทดลองโดยใช้ลิงก์ด้านล่าง
มีให้ดาวน์โหลด
VLOOKUP พร้อม SUM และ SUMIF - ตัวอย่างสูตร (ไฟล์ .xlsx)
Ultimate Suite - เวอร์ชันทดลอง (ไฟล์ .exe )
กับข้อมูลจริงโปรดทราบว่า นี่เป็นตัวอย่างขั้นสูงที่แสดงเป็นนัยว่าคุณคุ้นเคยกับหลักการทั่วไปและไวยากรณ์ของฟังก์ชัน VLOOKUP ถ้าไม่ใช่ ส่วนแรกของบทช่วยสอน VLOOKUP สำหรับผู้เริ่มต้นก็คุ้มค่ากับความสนใจของคุณอย่างแน่นอน - ไวยากรณ์ของ Excel VLOOKUP และการใช้งานทั่วไป
Excel VLOOKUP และ SUM - หาผลรวมของค่าที่ตรงกัน
หากคุณทำงานกับข้อมูลตัวเลขใน Excel บ่อยครั้งที่คุณไม่เพียงต้องแยกค่าที่เกี่ยวข้องจากตารางอื่น แต่ยังต้องรวมตัวเลขในหลายคอลัมน์หรือหลายแถวด้วย ในการดำเนินการนี้ คุณสามารถใช้ฟังก์ชัน SUM และ VLOOKUP ร่วมกันดังที่แสดงด้านล่าง
แหล่งข้อมูล:
สมมติว่า คุณมีรายการผลิตภัณฑ์ที่มียอดขาย เป็นเวลาหลายเดือน หนึ่งคอลัมน์ต่อเดือน ข้อมูลต้นฉบับอยู่ในแผ่นงานชื่อ ยอดขายรายเดือน :
ตอนนี้ คุณต้องการสร้างตารางสรุปที่มียอดขายรวมสำหรับแต่ละผลิตภัณฑ์
วิธีแก้ปัญหาคือใช้อาร์เรย์ในพารามิเตอร์ตัวที่ 3 ( col_index_num ) ของฟังก์ชัน Excel VLOOKUP นี่คือสูตรทั่วไป:
SUM(VLOOKUP( ค่าการค้นหา, ช่วงการค้นหา, {2,3,...,n}, FALSE))เป็น คุณเห็นไหมว่า เราใช้ค่าคงที่อาร์เรย์ในอาร์กิวเมนต์ที่สามเพื่อทำการค้นหาหลายรายการภายในสูตร VLOOKUP เดียวกัน เพื่อให้ได้ผลรวมของค่าในคอลัมน์ 2,3 และ 4
และตอนนี้ เรามาปรับค่าผสมนี้กัน ของฟังก์ชัน VLOOKUP และ SUM สำหรับข้อมูลของเราเพื่อหาผลรวมของการขายในคอลัมน์ B - M ในตารางด้านบน:
=SUM(VLOOKUP(B2, 'Monthly sales'! $A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))
สำคัญ! เนื่องจากคุณกำลังสร้างสูตรอาร์เรย์ อย่าลืมกด Ctrl + Shift + Enter แทน ของการกดแป้น Enter แบบธรรมดาเมื่อคุณพิมพ์เสร็จ เมื่อคุณทำเช่นนี้ Microsoft Excel จะล้อมรอบสูตรของคุณด้วยวงเล็บปีกกาในลักษณะนี้:
{=SUM(VLOOKUP(B2, 'Monthly sales'!$A$2:$M$9, {2,3,4,5,6,7,8,9,10,11,12,13}, FALSE))}
หากคุณกดปุ่ม Enter ตามปกติ เฉพาะค่าแรกใน อาร์เรย์จะได้รับการประมวลผล ซึ่งจะให้ผลลัพธ์ที่ไม่ถูกต้อง
เคล็ดลับ คุณอาจสงสัยว่าเหตุใดสูตรจึงแสดง [@Product] เป็นค่าการค้นหาในภาพหน้าจอด้านบน นี่เป็นเพราะฉันแปลงข้อมูลเป็นตาราง ( แทรก แท็บ > ตาราง ) ฉันพบว่าสะดวกมากในการทำงานกับตาราง Excel ที่ทำงานได้อย่างสมบูรณ์และการอ้างอิงที่มีโครงสร้าง ตัวอย่างเช่น เมื่อคุณพิมพ์สูตรลงในเซลล์เดียว Excel จะคัดลอกสูตรนั้นไปทั่วทั้งคอลัมน์โดยอัตโนมัติ และวิธีนี้ช่วยให้คุณประหยัดเวลาอันมีค่าได้ไม่กี่วินาที :)
อย่างที่คุณเห็น การใช้ฟังก์ชัน VLOOKUP และ SUM ใน Excel เป็นเรื่องง่าย อย่างไรก็ตาม นี่ไม่ใช่ทางออกที่ดี โดยเฉพาะถ้าคุณทำงานกับโต๊ะขนาดใหญ่ ประเด็นคือการใช้สูตรอาร์เรย์อาจส่งผลเสียต่อประสิทธิภาพของสมุดงาน เนื่องจากแต่ละค่าในอาร์เรย์ทำการเรียกฟังก์ชัน VLOOKUP แยกกัน ดังนั้น ยิ่งคุณมีค่ามากในอาร์เรย์และยิ่งมีสูตรอาร์เรย์ในสมุดงานมากเท่าไหร่ Excel ก็ยิ่งทำงานช้าลงเท่านั้น
คุณสามารถข้ามปัญหานี้ได้โดยใช้การรวมกันของฟังก์ชัน INDEX และ MATCH แทนการใช้ SUM และ VLOOKUP และผมจะแสดงตัวอย่างสูตรบางส่วนในบทความถัดไป
ดาวน์โหลดตัวอย่าง VLOOKUP และ SUM นี้
วิธีการคำนวณอื่นๆ ด้วยฟังก์ชัน VLOOKUP ของ Excel
เมื่อสักครู่ที่ผ่านมา เราได้พูดถึงตัวอย่างวิธีแยกค่าจากหลายคอลัมน์ในตารางค้นหาและคำนวณผลรวมของค่าเหล่านั้น ในทำนองเดียวกัน คุณสามารถทำการคำนวณทางคณิตศาสตร์อื่นๆ ด้วยผลลัพธ์ที่ส่งคืนโดยฟังก์ชัน VLOOKUP นี่คือตัวอย่างสูตรบางส่วน:
การดำเนินการ | ตัวอย่างสูตร | คำอธิบาย |
---|---|---|
คำนวณค่าเฉลี่ย | {=AVERAGE(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | สูตรค้นหา ค่าของเซลล์ A2 ใน 'ตารางค้นหา' และคำนวณค่าเฉลี่ยของค่าในคอลัมน์ B,C และ D ในแถวเดียวกัน |
ค้นหาค่าสูงสุด | { =MAX(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | สูตรค้นหาค่าของเซลล์ A2 ใน 'ตารางค้นหา ' และค้นหาค่าสูงสุดในคอลัมน์ B,C และ D ในแถวเดียวกัน |
ค้นหาค่าต่ำสุด | {=MIN(VLOOKUP(A2, 'ตารางค้นหา '$A$2:$D$10, {2,3,4}, FALSE))} | สูตรค้นหาค่าของเซลล์ A2 ใน 'ตารางค้นหา' และค้นหาค่าต่ำสุดในคอลัมน์ B C และ D ในแถวเดียวกัน |
คำนวณ % ของผลรวม | {=0.3*SUM(VLOOKUP(A2, 'Lookup Table'$A$2:$D$10, {2,3,4}, FALSE))} | การค้นหาสูตร สำหรับค่าของเซลล์ A2 ใน 'ตารางค้นหา' ให้รวมค่าในคอลัมน์ B,C และ D ในแถวเดียวกัน แล้วคำนวณ 30% ของผลรวม |
บันทึก. เนื่องจากสูตรข้างต้นทั้งหมดเป็นสูตรอาร์เรย์ อย่าลืมกด Ctrl+Shift+Enter เพื่อป้อนให้ถูกต้องในเซลล์
หากเราเพิ่มสูตรข้างต้นลงในตาราง 'สรุปยอดขาย' จากตัวอย่างก่อนหน้านี้ ผลลัพธ์จะมีลักษณะดังนี้:
ดาวน์โหลดตัวอย่างการคำนวณ VLOOKUP นี้
การค้นหาและผลรวม - ค้นหาในอาร์เรย์และผลรวมของค่าที่ตรงกัน
ในกรณีที่พารามิเตอร์การค้นหาของคุณเป็นอาร์เรย์แทนที่จะเป็นค่าเดียว ฟังก์ชัน VLOOKUP จะไม่มีประโยชน์เนื่องจากไม่สามารถค้นหาใน อาร์เรย์ข้อมูล ในกรณีนี้ คุณสามารถใช้ฟังก์ชัน LOOKUP ของ Excel ที่คล้ายกับ VLOOKUP แต่ใช้งานได้กับอาร์เรย์และค่าแต่ละค่า
ลองพิจารณาตัวอย่างต่อไปนี้ เพื่อให้คุณเข้าใจสิ่งที่ฉันพูดถึงได้ดีขึ้น . สมมติว่า คุณมีตารางที่แสดงชื่อลูกค้า ผลิตภัณฑ์ที่ซื้อ และจำนวน ( ตารางหลัก ) คุณยังมีตารางที่สองที่มีราคาสินค้า ( ตารางค้นหา ) งานของคุณคือสร้างสูตรที่ค้นหายอดรวมของคำสั่งซื้อทั้งหมดที่ทำโดยลูกค้าที่กำหนด
ตามที่คุณจำได้ คุณจะไม่สามารถใช้ฟังก์ชัน Excel VLOOKUP ได้เนื่องจากคุณมีหลายๆอินสแตนซ์ของค่าการค้นหา (อาร์เรย์ของข้อมูล) แต่ให้ใช้ฟังก์ชัน SUM และ LOOKUP ร่วมกันดังนี้:
=SUM(LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)*$D$2:$D$10*($B$2:$B$10=$G$1))
เนื่องจากสูตรนี้เป็นสูตรอาร์เรย์ อย่าลืมกด Ctrl + Shift + Enter เพื่อทำให้สูตรสมบูรณ์
และตอนนี้ เรามาวิเคราะห์ส่วนผสมของสูตร เพื่อให้คุณเข้าใจว่าแต่ละฟังก์ชันทำงานอย่างไร และสามารถปรับแต่งให้เป็นข้อมูลของคุณเองได้
เราจะเลิกใช้ ฟังก์ชัน SUM ชั่วขณะหนึ่ง เนื่องจากจุดประสงค์ของมันชัดเจน และเน้นที่องค์ประกอบ 3 ส่วนที่มีการคูณ:
-
LOOKUP($C$2:$C$10,'Lookup table'!$A$2:$A$16,'Lookup table'!$B$2:$B$16)
ฟังก์ชัน LOOKUP นี้จะค้นหาสินค้าที่แสดงในคอลัมน์ C ในหลัก ตาราง และส่งกลับราคาที่สอดคล้องกันจากคอลัมน์ B ในตารางการค้นหา
-
$D$2:$D$10
ส่วนประกอบนี้ส่งคืนปริมาณของผลิตภัณฑ์แต่ละรายการที่ซื้อโดยลูกค้าแต่ละราย ซึ่งแสดงรายการอยู่ในคอลัมน์ D ในตารางหลัก . คูณด้วยราคาที่ส่งกลับโดยฟังก์ชัน LOOKUP ด้านบน คุณจะได้ต้นทุนของผลิตภัณฑ์ที่ซื้อแต่ละรายการ
-
$B$2:$B$10=$G$1
สูตรนี้เปรียบเทียบชื่อลูกค้าในคอลัมน์ B กับชื่อ ในเซลล์ G1 หากพบการจับคู่จะส่งกลับ "1" มิฉะนั้น "0" คุณใช้เพื่อ "ตัด" ชื่อลูกค้าอื่นที่ไม่ใช่ชื่อในเซลล์ G1 เนื่องจากเราทุกคนทราบดีว่าตัวเลขใดๆ ที่คูณด้วยศูนย์คือศูนย์
เนื่องจากสูตรของเราคือ สูตรอาร์เรย์จะวนซ้ำกระบวนการที่อธิบายไว้ข้างต้นสำหรับแต่ละค่าในอาร์เรย์การค้นหา และสุดท้าย ฟังก์ชัน SUM หาผลรวมผลคูณของการคูณทั้งหมด ไม่มีอะไรยากเลยใช่ไหม
หมายเหตุ เพื่อให้สูตร LOOKUP ทำงานได้อย่างถูกต้อง คุณต้องจัดเรียงคอลัมน์การค้นหาในตารางการค้นหาของคุณตามลำดับจากน้อยไปมาก (จาก A ถึง Z) หากการเรียงลำดับข้อมูลของคุณไม่เป็นที่ยอมรับ ลองดูสูตร SUM / TRANSPOSE ที่ยอดเยี่ยมที่แนะนำโดย Leo
ดาวน์โหลดตัวอย่าง LOOKUP และ SUM นี้
VLOOKUP และ SUMIF - ค้นหา & รวมค่าด้วยเกณฑ์
ฟังก์ชัน SUMIF ของ Excel คล้ายกับ SUM ที่เราเพิ่งพูดถึงในลักษณะที่รวมค่าด้วย ข้อแตกต่างคือ ฟังก์ชัน SUMIF จะรวมเฉพาะค่าที่ตรงกับเกณฑ์ที่คุณระบุเท่านั้น ตัวอย่างเช่น สูตร SUMIF ที่ง่ายที่สุด =SUMIF(A2:A10,">10")
เพิ่มค่าในเซลล์ A2 ถึง A10 ที่มากกว่า 10
วิธีนี้ง่ายมากใช่ไหม และตอนนี้ลองพิจารณาสถานการณ์ที่ซับซ้อนขึ้นเล็กน้อย สมมติว่าคุณมีตารางที่แสดงชื่อพนักงานขายและหมายเลข ID ( Lookup_table ) คุณมีตารางอื่นที่มีรหัสเดียวกันและตัวเลขการขายที่เกี่ยวข้อง ( ตารางหลัก ) งานของคุณคือค้นหายอดรวมของการขายที่ทำโดยบุคคลที่กำหนดตาม ID ของพวกเขา มี 2 ปัจจัยที่ซับซ้อน:
- ตารางจดหมายมีหลายรายการสำหรับ ID เดียวกันในลำดับแบบสุ่ม
- คุณไม่สามารถเพิ่มคอลัมน์ "ชื่อพนักงานขาย" ใน ตารางหลัก
และตอนนี้ เรามาสร้างสูตรกันก่อน โดยหายอดขายทั้งหมดที่ทำโดยบุคคลหนึ่งๆ และอย่างที่สอง ให้รวมค่าที่พบ
ก่อนที่เราจะเริ่มต้นสูตร ให้ฉันเตือนคุณถึงไวยากรณ์ของฟังก์ชัน SUMIF:
SUMIF(range, criteria, [sum_range])-
range
- พารามิเตอร์นี้อธิบายในตัวเอง เป็นเพียงช่วงของเซลล์ที่คุณต้องการประเมินตามเกณฑ์ที่ระบุ -
criteria
- เงื่อนไขที่บอกสูตรว่าจะรวมค่าใด สามารถระบุในรูปแบบของตัวเลข การอ้างอิงเซลล์ นิพจน์ หรือฟังก์ชัน Excel อื่นๆ -
sum_range
- พารามิเตอร์นี้เป็นทางเลือก แต่สำคัญมากสำหรับเรา กำหนดช่วงที่จะเพิ่มค่าของเซลล์ที่เกี่ยวข้อง หากละเว้น Excel จะรวมค่าของเซลล์ที่ระบุในอาร์กิวเมนต์ช่วง (พารามิเตอร์ที่ 1)
โดยคำนึงถึงข้อมูลข้างต้น มากำหนดพารามิเตอร์ 3 ตัวสำหรับฟังก์ชัน SUMIF ของเรา ตามที่คุณจำได้ เราต้องการรวมยอดขายทั้งหมดที่ทำโดยบุคคลหนึ่งซึ่งมีชื่ออยู่ในเซลล์ F2 ในตารางหลัก (โปรดดูภาพด้านบน)
- ช่วง - เนื่องจากเรากำลังค้นหาตามรหัสพนักงานขาย พารามิเตอร์ ช่วง สำหรับฟังก์ชัน SUMIF ของเราคือคอลัมน์ B ในตารางหลัก ดังนั้น คุณสามารถป้อนช่วง B:B หรือถ้าคุณแปลงข้อมูลเป็นตาราง คุณสามารถใช้ชื่อคอลัมน์แทน:
Main_table[ID]
- เกณฑ์ - เนื่องจากเรามีพนักงานขาย ชื่อในตารางอื่น (ตารางค้นหา) เราต้องใช้สูตร VLOOKUP เพื่อค้นหา ID ที่ตรงกับบุคคลที่กำหนด ของบุคคลนั้นชื่อเขียนในเซลล์ F2 ในตารางหลัก เราจึงค้นหาโดยใช้สูตรนี้:
VLOOKUP($F$2,Lookup_table,2,FALSE)
แน่นอน คุณสามารถป้อนชื่อในเกณฑ์การค้นหาของฟังก์ชัน VLOOKUP ได้ แต่การใช้การอ้างอิงเซลล์แบบสัมบูรณ์จะดีกว่า วิธีการเนื่องจากเป็นการสร้างสูตรสากลที่ใช้ได้กับการป้อนชื่อใดๆ ในเซลล์ที่กำหนด
- ช่วงผลรวม - นี่เป็นส่วนที่ง่ายที่สุด เนื่องจากยอดขายของเราอยู่ในคอลัมน์ C ชื่อ "ยอดขาย" เราจึงใส่เพียง
Main_table[Sales]
ตอนนี้ สิ่งที่คุณต้องมีก็คือประกอบส่วนต่างๆ ของสูตร และสูตร SUMIF + VLOOKUP ของคุณก็พร้อมแล้ว:
=SUMIF(Main_table[ID], VLOOKUP($F$2, Lookup_table, 2, FALSE), Main_table[Sales])
ดาวน์โหลดตัวอย่าง VLOOKUP และ SUMIF นี้
วิธีทำ vlookup ใน Excel แบบไม่ต้องใช้สูตร
สุดท้าย ให้ฉัน แนะนำเครื่องมือที่สามารถค้นหา จับคู่ และผสานตารางของคุณโดยไม่ต้องใช้ฟังก์ชันหรือสูตรใดๆ เครื่องมือ Merge Tables ที่มาพร้อมกับ Ultimate Suite สำหรับ Excel ได้รับการออกแบบและพัฒนาเพื่อเป็นทางเลือกที่ประหยัดเวลาและใช้งานง่ายแทนฟังก์ชัน VLOOKUP และ LOOKUP ของ Excel และยังมีประโยชน์มากทั้งสำหรับผู้เริ่มต้นและผู้ใช้ขั้นสูง
แทนที่จะต้องค้นหาสูตร คุณเพียงแค่ระบุตารางหลักและตารางค้นหา กำหนดคอลัมน์ทั่วไป และบอกวิซาร์ดว่าคุณต้องการดึงข้อมูลใด
จากนั้นให้คุณปล่อยให้วิซาร์ดค้นหา จับคู่ และส่งผลลัพธ์ให้คุณสองสามวินาที หากคุณคิดว่า Add-in นี้อาจเป็นประโยชน์ในการทำงานของคุณ คุณสามารถดาวน์โหลด a