สารบัญ
VLOOKUP เป็นฟังก์ชันที่นิยมมากใน Excel ซึ่งหมายถึงการค้นหาในแนวตั้ง เราสามารถใช้ฟังก์ชัน VLOOKUP ในตัว หรือสร้างสูตรของเราเองที่จะทำงานเป็นการค้นหาในแนวตั้งเพื่อส่งกลับค่าที่มีเกณฑ์ไดนามิกมากขึ้น ในบทความนี้ ฉันจะแสดงวิธีค้นหาค่าสุดท้ายในคอลัมน์ด้วย VLOOKUP ใน Excel
ดาวน์โหลด Practice Book
ดาวน์โหลดสมุดงาน Excel ที่เราใช้ในการเตรียมบทความนี้
ค่าสุดท้ายของ VLOOKUP ใน Column.xlsx
การใช้ฟังก์ชัน VLOOKUP เพื่อ ค้นหาค่าสุดท้ายในคอลัมน์
มาทำความรู้จักสมุดงานของเรากันก่อน ในแผ่นข้อมูลนี้ ฉันใช้ 3 คอลัมน์ และ 10 แถว เพื่อแสดงยอดขายของพนักงานขายตามวันที่ที่เกี่ยวข้อง
ในวิธีนี้ เราจะค้นหาค่าที่เกิดขึ้นล่าสุดโดยใช้ ฟังก์ชัน VLOOKUP VLOOKUP ย่อมาจาก ' Vertical Lookup ' เป็นฟังก์ชันที่ทำให้ Excel ค้นหาค่าที่ต้องการในคอลัมน์ ที่นี่เรามียอดขาย Bill ที่แตกต่างกัน 3 แบบ ตอนนี้เราจะหายอดขายล่าสุดของเขาใน เซลล์ G5
ขั้นตอน:
➦ เปิดใช้งาน เซลล์ G5 , พิมพ์สูตรที่ระบุด้านล่าง:
=VLOOKUP(F5,C5:D13,2)
➦ กดปุ่ม Enter และคุณจะได้รับการเกิดขึ้นครั้งล่าสุด จากยอดขายของเขา
แต่ VLOOKUP จะไม่ให้คำตอบที่ถูกต้องสำหรับข้อมูลที่ไม่ได้จัดเรียงในโหมดโดยประมาณ ดูภาพด้านล่าง
และถ้าเราใช้ ตรงทั้งหมด สำหรับอาร์กิวเมนต์ที่สี่ มันจะแสดงการจับคู่แรกเหมือนภาพด้านล่าง เนื่องจาก vlookup ใช้การค้นหาแบบไบนารี ดังนั้นเมื่อพบค่าที่มากกว่าค่าที่ค้นหา ก็จะกลับไปที่ค่าก่อนหน้าเพื่อแสดง ดูได้จากภาพด้านล่าง
ดังนั้น เพื่อเอาชนะสถานการณ์นี้สำหรับ ข้อมูลที่ไม่เรียงลำดับเพื่อค้นหาเหตุการณ์ล่าสุด เราจะต้องใช้ฟังก์ชันการค้นหาหรือสูตรรวมอื่นๆ เราจะพูดถึงวิธีการเหล่านี้ในส่วนต่อไปนี้
ทางเลือกอื่นสำหรับฟังก์ชัน VLOOKUP เพื่อค้นหาค่าสุดท้ายในคอลัมน์
ตอนนี้เราจะใช้วิธีทางเลือกสี่วิธีกับ หาค่าสุดท้ายในคอลัมน์
วิธีที่ 1: ใช้ฟังก์ชัน LOOKUP เพื่อหาค่าสุดท้ายในคอลัมน์
เราจะหาค่าสุดท้ายของคอลัมน์ด้วย ฟังก์ชัน LOOKUP ใน Excel ฟังก์ชัน LOOKUP ใช้สำหรับค้นหาคอลัมน์หรือแถวเดียวเพื่อค้นหาค่าเฉพาะจากตำแหน่งเดียวกันในคอลัมน์หรือแถวที่สอง ฉันจะหายอดขายล่าสุดที่นี่ใน เซลล์ G4
ขั้นตอน:
➦ เปิดใช้งาน เซลล์ G4
➦ พิมพ์สูตรที่ระบุด้านล่าง:
=LOOKUP(2,1/(D:D""),D:D)
➦ จากนั้นกดปุ่ม Enter และคุณจะได้รับสูตรสุดท้าย ค่า
👉 รายละเอียดสูตร:
➥ D :D””
ที่นี่จะเป็นการตรวจสอบว่าเซลล์ใน คอลัมน์ D ว่างเปล่าหรือไม่ มันจะกลับเป็น-
{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE…..}
➥ 1/(D:D””)
เราได้หาร 1 ด้วยผลลัพธ์ เนื่องจาก FALSE หมายถึง 0 และ TRUE หมายถึง 1 ดังนั้นผลลัพธ์จะเป็นดังนี้:
{#DIV/0!;#DIV/0!; #DIV/0!;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}
➥ LOOKUP(2,1/(D:D””),D:D)
ฉันได้ตั้งค่าการค้นหา 2 เนื่องจากฟังก์ชันการค้นหาจะค้นหา 2 ผ่านคอลัมน์ เมื่อค่าดังกล่าวจะไปถึง error จากนั้นจะกลับไปเป็นค่าที่ใกล้เคียงที่สุด 1 และจะแสดงผลนั้น ซึ่งจะคืนค่าเป็น
367
วิธีที่ 2: ใช้ฟังก์ชัน INDEX และ MATCH เพื่อค้นหาค่าสุดท้ายในคอลัมน์
ในที่นี้เราจะใช้ฟังก์ชัน INDEX และ MATCH ร่วมกัน ฟังก์ชัน INDEX ส่งกลับค่าหรือการอ้างอิงไปยังค่าจากภายในตารางหรือช่วง และ ฟังก์ชัน MATCH ใช้เพื่อค้นหารายการที่ระบุในช่วง จากนั้นจะส่งกลับตำแหน่งสัมพัทธ์ของรายการนั้นในช่วง
ขั้นตอน:
➦ พิมพ์สูตรที่ระบุด้านล่างใน เซลล์ G5
=INDEX(D5:D13,MATCH(F5,C5:C13,1))
➦ กดปุ่ม Enter
👉 สูตรทำงานอย่างไร:
➥ MATCH(F5,C5:C13,1)
ที่นี่ ฟังก์ชัน MATCH ใช้เพื่อค้นหาค่าของ เซลล์ F5 สำหรับรายการที่เรียงลำดับจากน้อยไปหามาก จากอาร์เรย์ C5:C13 การตั้งค่าอาร์กิวเมนต์ที่สาม '1' ระบุค่าประมาณการแข่งขัน. ตอนนี้ฟังก์ชันจะคืนค่าเป็น-
6
โดยจะแสดงหมายเลขแถวที่นับจากรายการแรก
➥ INDEX(D5:D13,MATCH(F5,C5:C13,1))
และ ฟังก์ชัน INDEX จะให้ยอดขายที่สอดคล้องกัน ( D5:D13) ตามการจับคู่ก่อนหน้าจากอาร์เรย์ ( C5:C13) ซึ่งจะคืนค่าเป็น-
367
นั่นคือเหตุการณ์สุดท้ายที่เกิดขึ้นจริงสำหรับ เซลล์ F5
วิธีที่ 3: การรวมกันของฟังก์ชัน INDEX, MAX, SUMPRODUCT และ ROW เพื่อค้นหาค่าสุดท้ายในคอลัมน์
ตอนนี้เราจะทำงานโดยใช้ฟังก์ชัน INDEX, MAX, SUMPRODUCT และ ROW ร่วมกัน ฟังก์ชัน ROW จะค้นหาหมายเลขแถว SUMPRODUCT เป็นฟังก์ชันที่คูณช่วงของเซลล์หรืออาร์เรย์และส่งกลับผลรวมของผลิตภัณฑ์ ฟังก์ชัน MAX จะค้นหาจำนวนสูงสุด และฟังก์ชัน ดัชนี จะส่งกลับค่าหรือการอ้างอิงไปยังค่าจากภายในตารางหรือช่วง
ขั้นตอน:
➦ เปิดใช้งานการแก้ไขใน เซลล์ F7
➦ คัดลอกและวางสูตรที่ระบุด้านล่าง:
=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))
➦ และกดปุ่ม Enter ปุ่ม
👉 สูตรทำงานอย่างไร:
➥ ROW($B$5:$B$13)
ฟังก์ชัน ROW จะแสดงหมายเลขแถวสำหรับอาร์เรย์ที่จะคืนค่าเป็น-
{ 5;6;7;8;9;10;11;12;13}
➥ ($E$7=$B$5:$B$13)
ที่นี่ เซลล์ E7 คือค่าการค้นหาของเราและนี่สูตรจะจับคู่ผ่านอาร์เรย์ B5:B13 จากนั้นจะคืนค่าเป็น-
{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}
➥ ROW($B$5:$B$13)*($E$7=$B$5:$B$13)
เป็นการคูณของสองสูตรก่อนหน้านี้ที่จะคูณ หมายเลขแถวที่ตรงกัน เท็จ หมายถึง 0 และ จริง หมายถึง 1 ดังนั้นหลังจากการคูณ มันจะกลับเป็น -
{0;0;0;0;9;0;0;0;13}
➥ MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))
การ MAX ฟังก์ชันจะหาค่าสูงสุดจากผลลัพธ์ก่อนหน้าที่จะส่งคืนเป็น
13
➥ SUMPRODUCT(MAX(ROW($ B$5:$B$13)*($E$7=$B$5:$B$13))-4)
ตอนนี้ ฟังก์ชัน SUMPRODUCT ถูกใช้เพื่อค้นหาแถว ตัวเลขในอาร์เรย์ เนื่องจากรายการของเราเริ่มจากแถว 5 เป็นต้นไป 4 จึงถูกลบออก ดังนั้นตำแหน่งที่เกิดขึ้นล่าสุดของ Bill คือ 9 ในรายการของเรา ดังนั้นสูตรจะกลับมาเป็น -
9
➥ INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5: $B$13))-4))
ฟังก์ชัน INDEX ใช้เพื่อค้นหาการขายสำหรับนามสกุลที่ตรงกัน และจะกลับมาเป็น-
563
นั่นเป็นเหตุการณ์สุดท้ายของเราสำหรับ Bill
วิธีที่ 4 : ใช้ Excel VBA เพื่อค้นหาค่าที่เกิดขึ้นล่าสุดในคอลัมน์
หากคุณต้องการเขียนโค้ดใน Excel วิธีนี้เหมาะสำหรับคุณ เราสามารถดำเนินการก่อนหน้านี้โดยใช้วิธี VBA ได้เช่นกัน มาดูขั้นตอนง่ายๆ ต่อไปนี้กัน
สำหรับสิ่งนั้น ในตอนแรก ฉันจะสร้างแถบเลื่อนลงสำหรับชื่อเฉพาะ จากนั้น ฉันจะสร้างฟังก์ชันใหม่ที่ผู้ใช้กำหนดเอง “ LastItemLookup ” โดยใช้ VBA ที่เราจะใช้เพื่อค้นหาเหตุการณ์ล่าสุด
ขั้นตอนที่ 1 :
➦ ขั้นแรก ให้คัดลอกชื่อเฉพาะจากแผ่นงานหลักไปยังแผ่นงานใหม่
ขั้นตอนที่ 2:
➦ จากนั้นไปที่แผ่นงานหลัก เปิดใช้งานเซลล์ใหม่ ฉันเลือก E5
➦ คลิก ข้อมูล > เครื่องมือข้อมูล > การตรวจสอบข้อมูล
กล่องโต้ตอบ จะปรากฏขึ้น
ขั้นตอนที่ 3:
➦ เลือก รายการ จากแถบ อนุญาต
➦ จากนั้นกดไอคอน เปิด จาก แหล่งที่มา bar.
ขั้นตอนที่ 4:
➦ หลังจากนั้น ไปที่ชีตใหม่และเลือกชื่อเฉพาะ
➦ กด ตกลง
ดูเครื่องหมาย ลูกศรลง ที่แสดงที่ด้านขวาของเซลล์นั้น โดยคลิกที่นี่ คุณสามารถเลือกชื่อใดก็ได้ ซึ่งจะช่วยประหยัดเวลาของเราเพราะเราไม่ต้องพิมพ์ชื่อทุกครั้ง
ตอนนี้เราจะสร้างฟังก์ชันใหม่ชื่อ LastItemLookup ด้วย Excel VBA.
ขั้นตอนที่ 5:
➦ R คลิกขวา เมาส์ของคุณที่ชื่อแผ่นงาน
➦ เลือก ดูโค้ด จาก เมนูบริบท
หน้าต่าง VBA จะเปิดขึ้น
ขั้นตอนที่ 6:
➦ พิมพ์รหัสที่กำหนดด้านล่าง:
7665
ขั้นตอนที่ 7:
➦ จากนั้นกดปุ่มเล่นเพื่อเรียกใช้รหัส กล่องโต้ตอบ ชื่อ มาโคร จะปรากฏขึ้น
➦ คลิก เรียกใช้ .
ฟังก์ชันใหม่ของเราพร้อมใช้งานแล้วตอนนี้
ขั้นตอนที่ 8:
➦ ตอนนี้กลับไปที่เวิร์กชีตของคุณ
➦ เปิดใช้งาน เซลล์ F5
➦ พิมพ์สูตรที่ระบุด้านล่างพร้อมกับฟังก์ชันใหม่
=LastItemLookup(E5,B5:C13,2)
➦ กด Enter เพื่อรับ ผลลัพธ์ที่เกิดขึ้นล่าสุดสำหรับ รอน .
ตอนนี้ เมื่อคุณจะเลือกชื่อพนักงานขายใดๆ คุณจะได้รับค่าเหตุการณ์ล่าสุดที่สอดคล้องกันของเขา
<0บทสรุป
ฉันหวังว่าวิธีการทั้งหมดที่อธิบายไว้ข้างต้นจะดีพอที่จะ vlookup ค่าสุดท้ายในคอลัมน์ อย่าลังเลที่จะถามคำถามใด ๆ ในส่วนความคิดเห็นและโปรดให้ข้อเสนอแนะ