---
title: จะ Mapping ข้อมูลที่อยู่ด้านซ้าย ใช้ VLOOKUP ไม่ได้ ทำไงดี?
url: https://www.thepexcel.com/cannot-vlookup-left/
type: post
date: 2016-10-18
updated: 2020-03-30
author: Sira Ekabut
categories: [Excel ทั่วไป]
tags: [index, MATCH, VLOOKUP]
---

# จะ Mapping ข้อมูลที่อยู่ด้านซ้าย ใช้ VLOOKUP ไม่ได้ ทำไงดี?

> ฟังก์ชันยอดฮิตในการ Map ข้อมูลที่หลายคนชอบใช้ก็คือ VLOOKUP ซึ่งมีข้อดีคือ ใช้ฟังก์ชันเดียวก็ Map ข้อมูลได้ดั่งใจ แต่ข้อเสียคือถ้าข้อมูลอยู่ด้านซ้ายของคอลัมน์ที่จะค้นหา มันจะเอาค่ากลับมาไม่ได้! แล้วที่นี้จะทำไงดี?? ถ้าคุณไม่สามารถจะย้ายคอลัมน์ข้อมูลดิบได้ วิธีจัดการกับปัญหานี้ที่อยากจะแนะนำ คือ เปลี่ยนไปใช้ฟังก์ชั่นอื่นซะเถอะครับ (อ้าว) ตัวที่ผมอยากจะแนะนำที่สุดก็คือ INDEX+MATCH เพราะนอกจากจะเอาข้อมูลมาได้ทั้งทางซ้ายและขวา ยังทนทานต่อการแทรกคอลัมน์อีกต่างหาก...

ฟังก์ชันยอดฮิตในการ Map ข้อมูลที่หลายคนชอบใช้ก็คือ VLOOKUP ซึ่งมีข้อดีคือ ใช้ฟังก์ชันเดียวก็ Map ข้อมูลได้ดั่งใจ  
 แต่ข้อเสียคือถ้าข้อมูลอยู่ด้านซ้ายของคอลัมน์ที่จะค้นหา มันจะเอาค่ากลับมาไม่ได้!

 

แล้วที่นี้จะทำไงดี??

 

![ep01-000](https://www.thepexcel.com/wp-content/uploads/2016/10/ep01-000.png)

 

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

 

**ตัวที่ผมอยากจะแนะนำที่สุดก็คือ INDEX+MATCH** เพราะนอกจากจะเอาข้อมูลมาได้ทั้งทางซ้ายและขวา ยังทนทานต่อการแทรกคอลัมน์อีกต่างหาก (แทรกแล้วข้อมูลที่ Lookup มาก็ยังถูกต้องอยู่)

 

ก่อนอื่น ผมขอทวนการทำงานของ INDEX แบบสั้นๆ นั่นคือ มันจะดึงข้อมูลตามพิกัดที่เราระบุได้

 

เช่น หากผมเขียนสูตรแบบนี้ ซึ่งเป็นการบอกว่า ในพื้นที่ A2:A5 นั้น ให้เอาข้อมูลที่อยู่ลำดับที่ 2 กลับมานะ ก็จะได้คำตอบ T004

 

![ep01-001](https://www.thepexcel.com/wp-content/uploads/2016/10/ep01-001.png)

 

แต่เรื่องของเรื่องคือ ที่เราใส่เลข 2 ได้ เพราะเราดูด้วยตาเปล่าว่า เจ้าสมหญิง อยู่ลำดับที่ 2

 

แต่ถ้าเราจะให้ Excel ช่วยหาให้ เราก็**ต้องใช้ MATCH มาแทนเลข 2 ในส่วนของ row_num** ดังนี้  
 ซึ่งเป็นการบอกว่า ให้กาคำในช่อง B9 ในช่วง B2:B5 ว่าอยู่ลำดับที่เท่าไหร่??  
 (ใส่ Match_Type เป็น 0 เพราะจะหาข้อมูลแบบต้องเจอเป๊ะ หรือ Exact Match)

 

![ep01-002](https://www.thepexcel.com/wp-content/uploads/2016/10/ep01-002.png)

 

พอ Enter ก็จะได้คำตอบคือ T004 ตามต้องการ และเมื่อลองเปลี่ยนชื่อดู ก็จะได้ผลลัพธ์ที่ถูกต้องอยู่

 

แต่วิธีเขียนสูตรที่ยืดหยุ่นกว่าก็คือ แทนที่จะเลือก Range ให้เริ่มแถว 2 แล้วจบแถว 5 ก็**ให้เลือกมันทั้งคอลัมน์เลยก็ได้** ถ้าข้อมูลไม่เยอะจนเกินไป ก็ไม่น่าจะทำให้ช้ากว่ากันเท่าไหร่ครับ (ถ้าข้อมูลเยอะ ก็ต้องลากครอบเยอะอยู่ดี ซึ่งก็นานอยู่ดี)

 

=INDEX(**A:A**,MATCH(B9,**B:B**,0))

 

![ep01-003](https://www.thepexcel.com/wp-content/uploads/2016/10/ep01-003.png)

 

สำหรับบทความนี้ก็ขอจบเพียงเท่านี้ครับ สั้นๆ ง่ายๆ หากใครไม่เข้าใจตรงไหนก็ถามได้ครับ

---

_Source: [https://www.thepexcel.com/cannot-vlookup-left/](https://www.thepexcel.com/cannot-vlookup-left/)_
