VLOOKUP
ฟังก์ชั่น VLOOKUP จะส่งค่ากลับมาจากคอลเลกชั่นของคอลัมน์โดยใช้ค่าของคอลัมน์ซ้ายสุดเพื่อเลือกแถวและจำนวนคอลัมน์เพื่อเลือกคอลัมน์ที่อยู่ในแถวนั้น
เคล็ดลับ: สำหรับการค้นหาขั้นสูงที่ทำงานได้ในทุกทิศทาง ให้ใช้ XLOOKUP
VLOOKUP(ค้นหา, ช่วงคอลัมน์, ส่งกลับค่าคอลัมน์, ใกล้เคียง)
ช่วงคอลัมน์: คอลเลกชั่นของเซลล์ ช่วงคอลัมน์ต้องประกอบด้วยการอ้างอิงไปยังช่วงเดี่ยวของเซลล์ ซึ่งอาจประกอบด้วยค่าใดๆ ก็ได้
ส่งกลับค่าคอลัมน์: ค่าตัวเลขที่ระบุถึงจำนวนคอลัมน์ที่สัมพันธ์กันของเซลล์จากค่าที่จะถูกส่งกลับ คอลัมน์ซ้ายสุดในคอลเลกชั่นคือคอลัมน์ที่ 1
ใกล้เคียง: ค่าโมดอลทางเลือกที่กำหนดว่าจำเป็นต้องตรงกันทั้งหมดหรือไม่
ใกล้เคียง (TRUE, 1, หรือละเว้น): ถ้าไม่มีค่าที่ตรงกันทั้งหมด จะเลือกแถวด้วยค่าของคอลัมน์ทางซ้ายที่มากที่สุดที่มีค่าน้อยกว่าหรือเท่ากับค่าที่ค้นหา ถ้าคุณใช้ใกล้เคียง คุณจะไม่สามารถใช้อักขระตัวแทนในค้นหาได้
ตรงกันทั้งหมด (FALSE หรือ 0): ถ้าไม่มีค่าที่ตรงกันทั้งหมด จะส่งข้อผิดพลาดกลับมา ถ้าคุณใช้ตรงกันทั้งหมด คุณจะสามารถใช้อักขระตัวแทนในค้นหาได้ คุณสามารถใช้อักขระตัวแทน ? (เครื่องหมายคำถาม) เพื่อแทนถึงอักขระหนึ่งตัว ใช้ * (เครื่องหมายดอกจัน) เพื่อแทนถึงอักขระหลายตัว และใช้ ~ (เครื่องหมายตัวหนอน) เพื่อระบุว่าให้ค้นหาอักขระที่ตามมาอย่างตรงตัว ไม่ใช่ใช้เป็นอักขระตัวแทน REGEX สามารถใช้ได้เฉพาะใน VLOOKUP หากคุณใช้ค่าที่ตรงกันทั้งหมด
หมายเหตุ
VLOOKUP จะเปรียบเทียบคำค้นหาไปยังค่าในคอลัมน์ซ้ายสุดของคอลเลกชั่นที่ระบุ นอกเสียจากจำเป็นต้องตรงกันทั้งหมด แถวที่ประกอบด้วยค่าของคอลัมน์ทางซ้ายที่มากสุดที่ค่าน้อยกว่าหรือเท่ากับค่าค้นหาจะถูกเลือก ดังนั้น ค่าจากคอลัมน์ที่ระบุในแถวดังกล่าวจะส่งกลับมาโดยฟังก์ชั่น ถ้าใช้ส่วนของตรงกันทั้งหมด และไม่มีค่าใดๆ ของคอลัมน์ซ้ายสุดสอดคล้องกับค่าค้นหา ฟังก์ชั่นจะส่งข้อผิดพลาดกลับมา
ตัวอย่างเช่น |
---|
กำหนดให้ตารางเป็นดังนี้: |
A | B | C | D | |
---|---|---|---|---|
1 | 0 | A | lorem | 1 |
2 | 20 | E | ipsum | 2 |
3 | 40 | I | dolor | 3 |
4 | 60 | O | sit | 4 |
5 | 80 | U | amet | 5 |
=VLOOKUP(20,A1:D5,2) จะส่งค่ากลับมาเป็น "E" เนื่องจากค่า "E" อยู่ในแถวเดียวกับ 20 (ค่าค้นหา) ในคอลัมน์ที่สอง (ส่งกลับค่าคอลัมน์) จะอยู่ในคอลเลกชั่นที่ระบุไว้ (ช่วงคอลัมน์) =VLOOKUP(39, A1:D5, 2) จะส่งค่ากลับมาเป็น "E" เนื่องจาก "E" อยู่ในคอลัมน์เดียวกับ 20 ในแถวที่สองของคอลเลกชั่นที่ระบุ ซึ่งเป็นค่าที่ใกล้เคียงที่สุดที่ไม่เกินค่าที่กำหนดให้ (39) =VLOOKUP("M", B1:D5, 2) จะส่งค่ากลับมาเป็น "dolor" เนื่องจากค่า "dolor" อยู่ในแถวเดียวกับ "I" ซึ่งเป็นค่าที่ใกล้เคียงที่สุดที่ไม่เกินค่าที่กำหนดให้ ("M") โดยอยู่ในคอลัมน์ที่สองของคอลเลกชั่นที่ได้ระบุ (ซึ่งเป็นคอลัมน์ C เนื่องจากคอลัมน์แรกถูกระบุด้วย B) =VLOOKUP("C", B1:D5, 2) จะส่งค่ากลับมาเป็น "lorem" เนื่องจากค่า "lorem" อยู่ในแถวเดียวกับ "A" ซึ่งเป็นค่าที่ใกล้เคียงที่สุดที่ไม่เกินค่าที่กำหนดให้ ("C") โดยอยู่ในคอลัมน์ที่สองของคอลเลกชั่นที่ได้ระบุ =VLOOKUP("blandit", C1:D5, 2) จะส่งค่ากลับมาเป็น 5 เนื่องจาก 5 อยู่ในคอลัมน์เดียวกับ "amet" ซึ่งเป็นค่าสุดท้ายในช่วงที่ระบุ ที่เป็นเช่นนี้เนื่องจากไม่พบ "blandit" ในแถวที่สองของคอลเลกชั่นที่ระบุ =VLOOKUP("C", B1:D5, 3, TRUE) จะส่งค่ากลับมาเป็น 1 เนื่องจาก 1 อยู่ในแถวเดียวกับ "A" ซึ่งเป็นค่าที่ใกล้เคียงที่สุดที่ไม่เกินค่าที่กำหนดให้ ("C") โดยอยู่ในคอลัมน์ที่สามของคอลเลกชั่นที่ได้ระบุ =VLOOKUP("C", B1:D5, 3, FALSE) จะส่งข้อผิดพลาดกลับมา เนื่องจากไม่พบค่า "C" (ไม่มีค่าใดที่ตรงกันทั้งหมด) และ ตรงกันทั้งหมด ได้ถูกระบุให้เป็น FALSE (จะส่งค่ากลับเป็นข้อผิดพลาดถ้าไม่สามารถหาค่าที่ตรงกันทั้งหมดได้) =VLOOKUP("C", B1:D5, 4, TRUE) จะส่งข้อผิดพลาดกลับมา เนื่องจากไม่มีคอลัมน์ที่สี่ในคอลเลกชั่นที่ระบุ (ในที่นี่มีทั้งหมด 3 คอลัมน์เท่านั้น) =VLOOKUP(REGEX("^a.*"), C1:D5, 2, FALSE) จะส่งค่ากลับมาเป็น 5 เนื่องจาก 5 อยู่ในแถวเดียวกับ "amet" ซึ่งเป็นคำแรกใน C1:D5 ที่เริ่มต้นด้วย "a" |