Excel VLOOKUP เพื่อค้นหาค่าสุดท้ายในคอลัมน์ (พร้อมตัวเลือกอื่น)

  • แบ่งปันสิ่งนี้
Hugh West

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 ค่าสุดท้ายในคอลัมน์ อย่าลังเลที่จะถามคำถามใด ๆ ในส่วนความคิดเห็นและโปรดให้ข้อเสนอแนะ

Hugh West เป็นผู้ฝึกอบรมและนักวิเคราะห์ Excel ที่มีประสบการณ์สูงและมีประสบการณ์มากกว่า 10 ปีในอุตสาหกรรมนี้ เขาสำเร็จการศึกษาระดับปริญญาตรีสาขาการบัญชีและการเงิน และปริญญาโทสาขาบริหารธุรกิจ Hugh มีความหลงใหลในการสอนและได้พัฒนาแนวทางการสอนที่เป็นเอกลักษณ์ซึ่งง่ายต่อการติดตามและเข้าใจ ความรู้ความเชี่ยวชาญของเขาเกี่ยวกับ Excel ช่วยให้นักเรียนและผู้เชี่ยวชาญหลายพันคนทั่วโลกพัฒนาทักษะและความเป็นเลิศในอาชีพการงาน ฮิวจ์แบ่งปันความรู้ของเขากับคนทั้งโลกผ่านบล็อก โดยเสนอบทช่วยสอน Excel ฟรีและการฝึกอบรมออนไลน์เพื่อช่วยให้บุคคลและธุรกิจบรรลุศักยภาพสูงสุดของตนเอง