แสดงบทความที่มีป้ายกำกับ vlookup approximate Match exact Match แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ vlookup approximate Match exact Match แสดงบทความทั้งหมด

INDEX MATCH Functions ดีกว่า VLOOKUP Function อย่างไร


บทความก่อนหน้านี้ เรานำเสนอทั้งการทำงานและตัวอย่างของ Vlookup Function / Index Function และ Match Function ซึ่งถ้าคุณสามารถทบทวน vlookup Function ได้ที่ "การค้นหาข้อมูลด้วย vLookUp จาก Excel" ส่วน Index Function หรือ Match Function ได้ที่ "ผสานคุณสมบัติของ Index Function กับ Match Function เพื่อแทนคำสั่ง vlookup Function" 

นบทความนี้ เรามาดูข้อดีต่างๆ ของการนำ Index&Match มาใช้ร่วมกัน แทน Vlookup ดีกว่า 

ข้อดีของการใช้ INDEX ร่วมกับ MATCH แทนการใช้ VLOOKUP 
1. สามารถแทรกหรือลบคอลัมน์ได้ภายหลัง เมื่อคุณใช้ Index Match ในการทำงานแทน Vlookup คุณสามารถแทรกคอลัมน์ระหว่าง(คอลัมน์เริ่มต้นของตาราง จนถึึง คอลัมน์ที่คุณนำมาใช้อ้างอิงในสูตร) แต่ ✋ถ้าคุณใช้ Vlookup ในสูตร คุณจะไม่สามารถแทรกคอลัมน์ได้ เพราะสูตรที่คุณเขียนไว้มันจะ Error ทันที 


Index Match Function in Excel
รูปที่ 1 ตัวอย่างที่ใช้เปรียบเทียบระหว่าง Index&Match และ Vlookup

ตัวอย่าง การค้นหาข้อมูลในเซลล์ด้วย Index&Match จากรูปที่ 1 เราได้เขียนสูตรด้วย Index&Match ในคอลัมน์ C และ D เพื่อค้นหาข้อมูลสาขาและรายได้ของแต่ละร้าน จากตารางสีฟ้า 
ได้สูตรในคอลัมน์ C ดังนี้ 
=INDEX($F$2:$I$14,MATCH($A2,$F$2:$F$14,0),MATCH($C$1,$F$1:$I$1,0))
จากสูตรข้างบนนี้ สามารถทำงานได้คำตอบเดียวกับ vlookup ได้ โดยสูตรนี้ ประกอบด้วย Index&Match Function ซึ่งส่วนของ index function มี 3 arguments (แบ่งด้วยสีเป็น 3 สีเพื่อให้คุณสังเกตได้ง่ายขึ้น คือ ส้ม น้ำเงิน ม่วง) 

ในส่วนสีน้ำเงินแทน argument ตัวที่ 2 ของ Index Function ด้วยการใช้ฟังก์ชั่น Match Function เข้ามา ซึ่งเขียนให้นำค่าใน A2 (ค่าในเซลล์ คือ s001) มาค้นหาในช่วง F2:F14 (ค่าในเซลล์ คือ s014, s009, s002, s001, s008, s003, s015, s012, s004, s005, s006, s013, s010) และค้นหาแบบต้องสะกดตรงกันทั้งหมด ผลลัพธ์ของฟังก์ชั่นนี้ คือ 4

ในส่วนสีม่วงแทน argument ตัวที่ 3 ของ Index Function ด้วยการใช้ฟังก์ชั่น Match Function เข้ามา ซึ่งเขียนให้นำค่าใน C1 (ค่าในเซลล์ คือ Branch) มาค้นหาในช่วง F1:I1 (ค่าในเซลล์ คือ idShop, Branch, income, อัตราภาษี) และค้นหาแบบต้องสะกดตรงกันทั้งหมด ผลลัพธ์ของฟังก์ชั่นนี้ คือ 2 

ดังนั้น ช่วงค้นหา F2:I14 ใน Index Function จะมองหาข้อมูลในแถว 4 และคอลัมน์ที่ 2 ดังรูปที่ 2
Index Match Function in Excel
รูปที่ 2 แสดงผลลัพธ์ของการใช้ Index&Match 

ได้สูตรในคอลัมน์ D ดังนี้
=INDEX($F$2:$I$14,MATCH($A2,$F$2:$F$14,0),MATCH($D$1,$F$1:$I$1,0))
จากสูตรนี้ สามารถทำงานได้คำตอบเหมือนกับ vlookup ได้ โดยสูตรนี้ ประกอบด้วย Index&Match Function ซึ่งส่วนของ index function มี 3 arguments (แบ่งด้วยสีเป็น 3 สีเพื่อให้คุณสังเกตได้ง่ายขึ้น คือ ส้ม น้ำเงิน ม่วง) 

ในส่วนสีน้ำเงินแทน argument ตัวที่ 2 เขียนเหมือน argument ตัวที่ 2 ในคอลัมน์ C


ในส่วนสีม่วงแทน argument ตัวที่ 3 ของ Index Function ด้วยการใช้ฟังก์ชั่น Match Function เข้ามา ซึ่งเขียนให้นำค่าใน C1 (ค่าในเซลล์ คือ Income) มาค้นหาในช่วง F1:I1 (ค่าในเซลล์ คือ idShop, Branch, income, อัตราภาษี) และค้นหาแบบต้องสะกดตรงกันทั้งหมด ผลลัพธ์ของฟังก์ชั่นนี้ คือ 3

ดังนั้น ช่วงค้นหา F2:I14 ใน Index Function จะมองหาข้อมูลในแถว 4 และคอลัมน์ที่ 3 ดังรูปที่ 2

หลังจากนั้น ทำการแทรกคอลัมน์ในตารางที่ใช้สำหรับค้นหา (ตารางสีฟ้า) ดังรูปที่ 3
Index Match Function in Excel
รูปที่ 3 แสดงตัวอย่างเมื่อแทรกคอลัมน์ในตารางที่ใช้สำหรับค้นหา (ตารางสีฟ้า)
คุณจะเห็นได้ว่าสูตรในคอลัมน์ C มีการเปลี่ยนเซลล์อ้างอิงทำให้คำตอบของสูตรที่ใช้ Index&Match Function ยังคงได้คำตอบเดิม ทำให้เราไม่ต้องแก้ไขสูตรนั้นเอง ซึ่งถ้าคุณทำการค้นหาคอลัมน์ C และ D ด้วย Vlookup Function เมื่อคุณแทรกคอลัมน์แบบเดียวกับรูปที่ 3 คุณต้องกลับมาแก้ไขสูตรด้วย 


✻✼✽✻✼✽✻✼✽

2. สามารถค้นหาข้อมูลจากทิศทางใดก็ได้ เมื่อคุณต้องการค้นหาข้อมูลที่อยู่ทางด้านซ้ายของตารางอ้างอิง คุณจะไม่สามารถใช้ Vlookup ค้นหาได้ ดังนั้น ต้องใช้ Index&Match เข้ามาแทน

ตัวอย่าง จากรูปที่ 1 ที่ตารางสีขาว ให้ทำการค้นหา "ชื่อร้าน" (Name Shop) จากสาขา (Branch) "Lampang" ซึ่งแบบนี้จะใช้ vlookup ไม่ได้ เพราะชื่อร้าน (คอลัมน์ที่ค้นหา) อยู่ทางซ้ายของสาขา (คอลัมน์อ้างอิง) เมื่อคุณเขียนสูตรด้วย Index&Match สามารถเขียนได้ ดังนี้
=INDEX($A$2:$D$14,MATCH("Lampang",C2:C14,0),MATCH("NameShop",A1:D1,0))
จากสูตรนี้ ส่วนของ index function ประกอบด้วย 3 arguments (แบ่งด้วยสีเป็น 3 สี เพื่อให้คุณสังเกตได้ง่ายขึ้น คือ ส้ม น้ำเงิน ม่วง) 
โดย argument ตัวที่ 1 (สีส้ม) เป็นการกำหนดช่วงหรือตารางที่ทำการค้นหาข้อมูลมาแสดง

ส่วน argument ตัวที่ 2 (สีน้ำเงิน) เป็นการกำหนดเลขแถวให้กับ index function ค้นหา โดยใช้ match function มาหาเลขของเซลล์ที่เก็บ Lampang ไว้ ผลลัมน์ที่ได้ คือ 6

ส่วน argument ตัวที่ 3 (สีม่วง) เป็นการกำหนดเลขคอลัมน์ให้กับ index function ค้นหา โดยใช้ match function มาหาเลขของเซลล์ที่เก็บ NameShop ไว้ ผลลัมน์ที่ได้ คือ 2


✻✼✽✻✼✽✻✼✽

3. สามารถค้นหาค่าประมาณการได้ ในฟังก์ชั่น vlookup มีส่วนของการกำหนดวิธีการค้นหาได้ 2 แบบ คือ ค่าที่ตรงกัน (Exact Match) และ ค่าโดยประมาณ (Approximate Match) ซึ่งในตัวอย่างที่ผ่านมา เราได้อธิบายข้อดีที่ใช้วิธีการค้นหาแบบค่าที่ตรงกัน (Exact Match) แต่ในข้อดีข้อนี้ เราจะอธิบายข้อดีที่ใช้วิธีการค้นหาค่าโดยประมาณ (Approximate Match) นั้นเอง

ตัวอย่าง ค้นหาเกรด โดยให้วิธีการค้นหาเป็นแบบประมาณ (Approximate Match) ดังรูปที่ 4
Index Match Function in Excel
รูปที่ 4 แสดงตัวอย่างการหาเกรดด้วย Index&Match
จากรูปนี้ เราเรียงคะแนนจากมากลงมาน้อย และคะแนนสูงสุดเราใส่ค่าที่เป็นคะแนนมากที่สุดที่ผู้สอบสามารถจะทำได้ เขียนสูตรได้ ดังนี้ 

=INDEX($B$2:$B$9,MATCH("99",$A$2:$A$9,-1))
จากสูตรนี้เราใช้ Index Function ที่มี 2 arguments (แบ่งด้วยสี 2 สี ตามลำดับ) โดย argument ที่ 1 (สีส้ม) ใส่ช่วงที่ต้องการค้นหา ซึ่งในที่นี้ต้องการค้นหาเกรด เราจึงใส่ B2:B9

ส่วน argument ที่ 2 เราใช้ Match Function เข้ามาช่วยในการค้นหาเลขของเซลล์ 

โดยใน Match Function มี 3 arguments ซึ่งใน argument ที่ 1 เรากำหนด "99" ลงไป, ใน argument ที่ 2 เรากำหนดช่วงที่จะเข้าไปค้นหา "A2:A9", ใน argument ที่ 3 เรากำหนดวิธีในการค้นหาเป็นแบบประมาณ (Approximate Match) โดยในตัวอย่างนี้ กำหนดเป็น -1 ซึ่งหมายถึง หาค่าที่มากกว่าหรือเท่ากับ นั้นเอง

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


✻✼✽✻✼✽✻✼✽

4. ไม่ต้องนับคอลัมน์เพื่อระบุเลขคอลัมน์ที่ต้องดึงข้อมูลมาแสดงอีก เมื่อคุณใช้ Index&Match แทน Vlookup คุณไม่ต้องสนใจว่าค่าที่เราค้นหานั้นอยู่เลขคอลัมน์ใดอีก เพราะคุณสมบัติของ Match Function เข้ามาช่วยคุณแล้ว 

Share:

การค้นหาข้อมูลด้วย vLookUp จาก Excel

ค้นหาข้อมูลด้วย vlookup

ในบทความนี้ จะอธิบายเกี่ยวกับฟังก์ชั่นที่ช่วยให้คุณค้นหาข้อมูลค่าในตาราง Excel อย่างการใช้คำสั่ง vlookup ซึ่งคุณลักษณะของฟังก์ชั่นนี้ สามารถค้นหา ข้อมูลที่ต้องเหมือนกัน (ทุกตัวอักษร) หรือค้นหาข้อมูลใกล้เคียงก็ได้

ฟังก์ชั่น VLOOKUP
เป็นฟังก์ชั่นในการค้นหาข้อมูลที่คุณต้องการจากคอลัมน์ (Column) หนึ่งในตาราง หรือ ทำการค้นหาในแนวตั้ง นั้นเอง

รูปแบบฟังก์ชั่น VLOOKUP
ไวยากรณ์ =VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

หลักการใช้ฟังก์ชั่น VLOOKUP
lookup_value คือ ค่าที่ต้องการค้นหา
table_array คือ ช่วงหรือตารางที่ใช้ทำการค้นหา
col_index_num คือ หมายเลขคอลัมน์ที่ table_array ต้องส่งค่าไปแสดง

[range_lookup]) คือ การระบุวิธีการค้นหา ซึ่งมี 2 แบบ คือ 

  • true (ค่าที่ค้นหามา สามารถเอาค่าใกล้เคียงมาแสดงได้ : Approximate Match)
  • false (ค่าที่ค้นหามา จำเป็นต้องหาข้อมูลที่ตรงกันเท่านั้น : Exact Match) 

ตัวอย่างการใช้ VLoopup Function แบบ Exact Match ด้วยการค้นหาชื่อสาขา (ฺฺBranch) ของแต่ละรหัสร้านค้า (idShop) ดังรูปที่ 1
การค้นหา ข้อมูล Excel
รูปที่ 1 แสดงตัวอย่างการค้นหาข้อมูลใน Excel ด้วย vlookup
จากรูปที่ 1 คุณต้องค้นหาสาขาของแต่ละรหัสร้านค้า ลงในคอลัมน์ C โดยจะมี 2 ตาราง คือ ตารางที่ 1 ระบุ idShop NameShop vLookup และ ตารางที่ 2 ระบุ idShop Branch 

เราจะเริ่มต้นจากคุณต้องสังเกตว่าโจทย์ของเราว่า มีตารางลักษณะใด (แนวนอน หรือ แนวตั้ง) และ ต้องการค้นหาแบบใด (Approximate Match or Exact Match

จากโจทย์ที่อยู่ในรูปที่ 1 พบว่า ตารางในโจทย์เป็นลักษณะแนวตั้ง (Vertical - ชื่อหัวตารางอยู่บนเนื้อหาตาราง)  และข้อมูลที่เราต้องการคือ ข้อมูลที่ถูกต้อง เป๊าะๆ ตรงกันเท่านั้น เพราะคุณคงจะไม่อยากนำสาขาที่ใกล้เคียงมาแสดงตำแหน่งของร้านค้าใช่ไหม ดังนั้น โจทย์นี้เราจะใช้ vloopup ที่คุณต้องระบุ false ใน range_lookup ดังนี้ 

=VLOOKUP($A2,$E$2:$F$14,2,FALSE)

จากสูตรที่เขียน หมายถึง ค้นหาค่าใน A2 ในช่วง E2:F14 โดยใช้คอลัมน์ที่ 2 หา ค่าที่ได้ต้องเหมือนกับค่าใน A2
การค้นหาข้อมูลใน excel
รูปที่ 2 แสดงผลลัพธ์เมื่อค้นหาด้วย vloopup
โดยเมื่อคุณเขียนสูตรในเซลล์ C2 เรียบร้อย สามารถคัดลอกสูตรไปยังเซลล์ C3:C14 ด้วยการคัดลอกแบบลาก สามารถอ่านทบทวนการคัดลอกที่บทความ "เทคนิคการคัดลอกข้อมูลในโปรแกรม Excel"

สูตรที่เขียนในคอลัมน์ C จะเป็น ดังนี้
=VLOOKUP($A2,E$2:F$14,2,FALSE)
=VLOOKUP($A3,E$2:F$14,2,FALSE)
=VLOOKUP($A4,E$2:F$14,2,FALSE)
=VLOOKUP($A5,E$2:F$14,2,FALSE)
=VLOOKUP($A6,E$2:F$14,2,FALSE)
=VLOOKUP($A7,E$2:F$14,2,FALSE)
=VLOOKUP($A8,E$2:F$14,2,FALSE)
=VLOOKUP($A9,E$2:F$14,2,FALSE)
=VLOOKUP($A10,E$2:F$14,2,FALSE)
=VLOOKUP($A11,E$2:F$14,2,FALSE)
=VLOOKUP($A12,E$2:F$14,2,FALSE)
=VLOOKUP($A13,E$2:F$14,2,FALSE)
=VLOOKUP($A14,E$2:F$14,2,FALSE)

ตัวอย่างการใช้ VLoopup Function แบบ Approximate Match ด้วยการค้นหาอัตราภาษีที่ร้านค้าต้องจ่าย โดยพิจารณาจากรายได้ของร้านค้าอยู่ในช่วงใดของอัตราภาษี  ดังรูปที่ 3
การค้นหาข้อมูลใน Excel
รูปที่ 3 แสดงตัวอย่างการหาข้อมูลด้วย vlookup function
จากรูปที่ 3 คุณต้องค้นหาอัตราภาษีของร้านค้า ในตารางสรุปอัตราของแต่ละร้านค้า และ ตารางเกณฑ์การจ่ายอัตราภาษีเป็นตารางในการหา โดยคุณต้องสังเกตว่าโจทย์ของเราว่า มี (1) ตารางลักษณะใด (แนวนอน หรือ แนวตั้ง) และ (2) ต้องการค้นหาแบบใด (Approximate Match or Exact Match

จากข้อสังเกตทั้ง 2 ข้อ พบว่า ตารางในโจทย์เป็นลักษณะแนวตั้ง (Vertical - ชื่อหัวตารางอยู่บนเนื้อหาตาราง)  และข้อมูลที่เราต้องการคือ ข้อมูลอัตราภาษี (H Column) ซึ่งต้องค้นหาจากรายได้ของร้านค้า (C Column) เทียบกับตารางการจ่ายอัตราภาษี ดังนั้น โจทย์นี้เราจะใช้ vloopup ที่คุณต้องระบุ True ใน range_lookup ดังนี้ 

=VLOOKUP($C3,$F$3:$H$19,3,TRUE)

จากสูตร หมายถึง VLOOKUP เป็นคำสั่งค้นหาแบบแนวตั้ง (Vertical) นำค่าในเซลล์ $C3 มาใช้ค้นหา ซึ่งหาในช่วง $F$3:$H$19 โดยช่วงจะดึงผลลัพธ์จากคอลัมน์ที่ 3 มาแสดง ค่าที่ต้องการค้นหาค่าแบบใกล้เคียงได้
หลังจากเขียนสูตรในเซลล์ D3 ที่เหลือให้คัดลอกแบบลากลงมาเซลล์ที่ต้องการ จะได้ผลดังรูปที่ 4
การค้นหาข้อมูลด้วย vlookup
รูปที่ 4 แสดงผลการเขียนสูตร VLOOKUP แบบ Approximate Match
สูตรที่เขียนในคอลัมน์ D จะเป็น ดังนี้
=VLOOKUP($C13,$F$3:$H$9,3,TRUE)
=VLOOKUP($C14,$F$3:$H$9,3,TRUE)
=VLOOKUP($C15,$F$3:$H$9,3,TRUE)
=VLOOKUP($C16,$F$3:$H$9,3,TRUE)
=VLOOKUP($C17,$F$3:$H$9,3,TRUE)
=VLOOKUP($C18,$F$3:$H$9,3,TRUE)
=VLOOKUP($C19,$F$3:$H$9,3,TRUE)
=VLOOKUP($C20,$F$3:$H$9,3,TRUE)
=VLOOKUP($C21,$F$3:$H$9,3,TRUE)
=VLOOKUP($C22,$F$3:$H$9,3,TRUE)
=VLOOKUP($C23,$F$3:$H$9,3,TRUE)
=VLOOKUP($C24,$F$3:$H$9,3,TRUE)
=VLOOKUP($C25,$F$3:$H$9,3,TRUE)

แต่ถ้าคุณพบตารางที่เป็นแนวนอน คุณคงไม่สามารถใช้คำสั่ง vlookup ได้อีก แล้วคุณจะค้นหาข้อมูลอย่างไร 


Share:

จำนวนการดูหน้าเว็บรวม

Popular Posts

ขับเคลื่อนโดย Blogger.

Dashboards คืออะไร มีกี่ประเภท

Dashboards คืออะไร และสามารถช่วยเราในการทำงานอย่างไร Dashboards คือ การนำข้อมูลมาสร้างรายงานที่เป็นภาพรวมทางธุรกิจ ให้ผู้บริหารสามารถ...

Recent Posts

Keywords

เอ็กเซล Data-Management Functions การจัดการข้อมูลในเอ็กเซล Blogger Basic-Excel Create-Blogger การจัดการข้อมูล Excel Conditional Formatting excel Data-Analysis Drop down list Excel สูตร Computer knowledge Feed RSS Atom คือ อะไร Index Match function excel SEO Search Console Search engine chart excel คือ excel data validate paste option Excel vlookup approximate Match exact Match vlookup function excel การใช้ concatenate ใน excel สร้าง drop down list สร้าง กราฟ เอ็กเซล Advance Filter Auto Filter by Color Auto Filter by Text Content Syndication DATEDIF() Datedif Function Excel SUM Function Excel SUMIF Function Excel SUMIFS Function Formula Values Transpose Formatting Function excel Gantt Chart excel Gantt Chart excel ทำยังไง HLOOKUP Icon Set Index Match function คือ Knowledge Line Chart Scatter Chart LogicFunction Match function excel Name Manager Paste Special Pie Doughnut chart excel Robots Header Tag Sumproduct function การใช้ สูตร เอ็กเซล Template Text Function Excel Trim Clear Function Excel Values column chart excel condition countif excel count if excel 2010 countifs data validation excel countifs เงื่อนไข ตัวอักษร มากกว่า น้อยกว่า excel index match formula excel match function reference cell excel sort and filter excel เบืื้องต้น excel เบื้องต้น flash fill excel คือ flash fill คือ อะไร function คือ highlight in dropdownlist index excel match vlookup index match ใช้ยังไง lookup excel กราฟ แผนภูมิ Excel การ เรียง ข้อมูล excel การ เรียง ลําดับ ข้อมูล excel การกรองข้อมูล Excel การตัดข้อความ เอ็กเซล การทํา chart excel การทําcontrol chart excel การสร้าง ตาราง กราฟ excel การสร้าง chart excel การสร้างฟีต การหาผลรวมในเอ็กเซล การเผยแพร่เนื้ือหา การเพิ่ม Subscription ให้ Blogger การแยก ข้อความ การใช้ if การใช้ index match excel การใช้งาน Subtotal outline excel การใช้ฟังก์ชั่น concatenate การใช้แผนภูมิ chart excel ค้นหาข้อมูล เอ็กเซล ค้นหาเลขคอลัมน์ ค้นหาเลขแถว เอ็กเซล ตัดช่องวางในเอ็กเซล ผูกเว็บกับ Google Analytics ฟังก์ชั่น Text การใช้ วิธีการตัดข้อความใน Excel วิธีทำ แผนภูมิ วงกลม Excel สูตร COUNTIF สูตรexcel concatenate สูตรการหาผลรวมใน Excel หาผลต่างระหว่างเดือน เพิ่มรายการใน Data Validation แผนภูมิ คอลัมน์ excel แผนภูมิคอลัมน์ เรียงซ้อน ใส่สีให้ dropdownlist