:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#1

Post by ampertise »

คือ ติดปัญหาการใช้ vlookup ใน excel แบบข้ามชีตและมีเงื่อนไข อย่างนี้คะ
มี 3 ชีต ประกอบด้วย ชีต "sale","slot","rlot"
ในชีต "sale" ให้ คอลัมน์ "lot no." เทียบกับ คอลัมน์ "lot no." ในชีต "slot" กับ "rlot" ถ้าตรงกันดึงข้อมูลที่ถูกต้องมาแสดงผลลง คอลัมน์ "a1" และ "a2" ในชีต "sale"
ได้ใช้ =VLOOKUP($A2,slot!$A$2:$C$4,2)
แต่ผลที่ได้ถ้าไม่ใช่ค่า rlot มันก็ไม่แสดง


ได้แนบไฟล์มาเพื่อขยายคำอธิบายมากขึ้น
ขอบคุณคะ
แอม
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#2

Post by bank9597 »

:D ลองตามนี้ครับ

ที่ชีท Sale เซลล์ B2 คีย์ =IFERROR(VLOOKUP($A2,slot!$A$2:$C$12,COLUMNS($A$2:B$2)),VLOOKUP($A2,rlot!$A$2:$C$12,COLUMNS($A$2:B$2)))
คัดลอกไปทางขวามือ แล้วลงล่างพร้อมกันครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#3

Post by ampertise »

ขอบคุณ คุณ bank9597 มากคะ สำหรับ ความช่วยเหลือ และได้ผลตรงตามที่ต้องการ :D
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#4

Post by bank9597 »

:D แก้ไขอีกครั้งครับ
ที่ชีท Sale เซลล์ B2 คีย์ =IFERROR(VLOOKUP($A2,IF(LEFT($A2,1)="s",slot!$A$2:$C$12,rlot!$A$2:$C$12),COLUMNS($A$2:B$2)),"")
คัดลอกไปทางขวามือ แล้วลงล่างพร้อมกันครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#5

Post by ampertise »

ขอบคุณ คุณ bank9597 อีกครั้งคะ อันล่าสุดนี้ต่างกับอันแรกยังไงเพราะผลลัพธ์ที่ได้ก็ให้ผลเหมือนกันคะ :?:
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#6

Post by bank9597 »

:lol: ต่างกันดังนี้ครับ

สมมุติ มีรหัสชื่อ A101 โผล่มา ค่าที่สูตรแสดงออกมาคือ ค่าว่าง ซึ่งไม่ต้องโชว์ค่าเออร์เรอร์ออกมา

ทดสอบใส่รหัสแปลกๆลงไปดูครับ ผลที่สูตรแสดงออกมาคือ "ค่าว่าง"

ส่วนสูตรแรกที่ผมตอบไปนั้น หากมีรหัสที่ไม่ตรงกับในชีทใดเลย ค่าที่ได้คือ เออร์เรอร์
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#7

Post by ampertise »

ทดสอบตามที่บอกแล้วไม่เห็น error จริงด้วยคะ อย่างไรแล้วข้อมุลที่ใช้จริงมีคอลัมน์มากและไม่ติดกัน แต่จะนำไป apply ต่อคะ (คือบ.มีกฏห้ามนำข้อมูลบ.เผยแพร่เด็ดขาด) ก็เลยสมมุติข้อมูลให้ตรงกับปัญหาที่เจอ ขอบคุณ คุณ bank9597 ที่ให้ความรู้เพิ่มเติมด้าน excel และเป็นตัวอย่างที่ดีของสังคมแบ่งปันต่อไปคะ :D
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#8

Post by bank9597 »

ข้อมุลที่ใช้จริงมีคอลัมน์มากและไม่ติดกัน แต่จะนำไป apply ต่อคะ
:D หากนำไปใช้กับข้อมูลจริงนั้น ผมเกรงว่าต้องปรับสูตรใหม่อีก ให้ตรงตามข้อมูลที่มี

1. ข้อมูลจริงไม่มีแค่รหัสที่ขึ้นต้นด้วย S และ R แต่มีมากกว่านั้น จำเป็นต้องปรับสูตรอีก
2. ข้อมูลจริงไม่มีแค่ชีท Slot และ RSlot แต่มีมากกว่านั้น จำเป็นต้องปรับสูตรอีก

ทั้งหมดนี้ขึ้นอยู่กับพื้นฐานการใช้สูตรของผู้ถามเองครับ ถ้าเข้าใจในสูตรที่ผมตอบไปให้ ก็สามารถปรับให้เข้ากับเงื่อนไขได้เองเลยครับ

ส่วนอีกวิธีคือ รอให้อาจารย์คนควน เข้ามาตอบดูใ้ห้อีกครั้งครับ เพราะสูตรของอาจารย์ จะครอบคลุมทั้งหมด แต่มีข้อจำกัดว่า สูตรจะยากกว่าเดิมมากครับ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#9

Post by snasui »

bank9597 wrote:ส่วนอีกวิธีคือ รอให้อาจารย์คนควน เข้ามาตอบดูใ้ห้อีกครั้งครับ เพราะสูตรของอาจารย์ จะครอบคลุมทั้งหมด แต่มีข้อจำกัดว่า สูตรจะยากกว่าเดิมมากครับ
โปรดงดการเจาะจงผู้ตอบหรือระบุให้รอผู้ใดผู้หนึ่งครับ เพราะจะเป็นการปิดโอกาสผู้ที่ทราบและส่งผลให้ผู้ถามต้องเสียโอกาสไปด้วยครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#10

Post by bank9597 »

snasui wrote:
bank9597 wrote:ส่วนอีกวิธีคือ รอให้อาจารย์คนควน เข้ามาตอบดูใ้ห้อีกครั้งครับ เพราะสูตรของอาจารย์ จะครอบคลุมทั้งหมด แต่มีข้อจำกัดว่า สูตรจะยากกว่าเดิมมากครับ
โปรดงดการเจาะจงผู้ตอบหรือระบุให้รอผู้ใดผู้หนึ่งครับ เพราะจะเป็นการปิดโอกาสผู้ที่ทราบและส่งผลให้ผู้ถามต้องเสียโอกาสไปด้วยครับ
:cry: ขออภัยด้วยครับ พอดีเห็นว่าอาจารย์มีคุณวุฒิมากที่สุด อีกอย่างคือหากผู้ตอบคนใดเข้ามาตอบนั้น เป็นเรื่องที่ผมยินดีอยู่แล้วครับ คิดว่าน่าจะทราบดีอยู่แล้ว ผมจึงไม่กล่าวลงไป ยังขออภัยด้วยครับ :D
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#11

Post by snasui »

:twisted: มีคุณวุฒิสูงหรือต่ำก็ไม่ได้หมายความว่าจำเป็นจะต้องรอผู้นั้น ใครทราบก็ตอบได้เลยครับ
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#12

Post by ampertise »

:?: ปัญหาเดิมแต่สงสัยว่าถ้าหน้าชีต sale มีตารางคอลัมน์ที่วางสลับไม่ตรงกับ หน้าชีต Slot กับ Rlot ถ้าทำการ vlookup หรือ columns จะไม่แสดงผล จะต้องทำอย่างไรได้บ้างคะ

ได้แนบตัวอย่างมาด้วยคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#13

Post by snasui »

:D
ampertise wrote:ถ้าหน้าชีต sale มีตารางคอลัมน์ที่วางสลับไม่ตรงกับ หน้าชีต Slot กับ Rlot
จากไฟล์แนบก็ตรงกันอยู่ครับ ช่วยทำตัวอย่างมาใหม่พร้อมอธิบายประกอบว่าไม่ตรงกันอย่างไรด้วยครับ
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#14

Post by ampertise »

ขอโทษด้วยคะอาจารย์ :oops: ได้แนบไฟล์ใหม่มาให้แล้วคะ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#15

Post by snasui »

:D ลองตามนี้ครับ

ที่ชีท sale เซลล์ E2 คีย์สูตรด้านล่างหรือ Copy ไปวาง

=INDEX(INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"A:XFD"),MATCH($C2,INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"C:C"),0),MATCH(E$1,INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"1:1"),0))

Enter > Copy ไปยังเซลล์ต่าง ๆ ที่เกี่ยวข้อง
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#16

Post by ampertise »

:) ขอบคุณอาจารย์มากคะ ได้ผลอย่างที่อยากได้มาก แต่ขอถามเพื่อเพิ่มความรู้ เกี่ยวกับที่มาของสูตร ตรงคำว่า "1:1" ในวงเล็บสุดท้ายคะ คือค่าอะไรคะ
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#17

Post by snasui »

:D คือบรรทัดที่ 1 ครับ
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#18

Post by ampertise »

ขอบคุณอาจารย์คะ หลังจากพยายามอ่านและลองนำสูตรอาจารย์ไปใช้กับงานจริงของบ.ได้ผลตามที่ต้องการเลยคะ :D
Last edited by ampertise on Sun Jul 15, 2012 6:55 pm, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 31253
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#19

Post by snasui »

:lol: ขออธิบายเพิ่มเติมเพื่อท่านอื่น ๆ ที่ต้องการทำความเข้าใจกับสูตรลักษณะนี้ว่า ต้องเข้าใจพื้นฐานฟังก์ชั่น Index เสียก่อนจึงจะทำความเข้าใจสูตรนี้ได้ และแม้จะเข้าใจพื้นฐานมาพอควรแต่ทำความเข้าใจสูตรนี้ไม่ง่ายนักครับ

จากโจทย์นี้ ที่ต้องลำบากในการทำความเข้าใจเพราะแยกชีทเก็บข้อมูล เพื่อให้ง่ายต่อการทำรายงาน ข้อมูลหรือ Database ควรจะอยู่ในชีทเดียวกัน บันทึกต่อกันไปด้านล่างเรื่อย ๆ สามารถใช้สูตรเดียวหาค่าออกมาได้เลย นอกจากนี้สามารถสรุปเป็นรายงานด้วยความสามารถอื่น ๆ เช่น PivotTable ได้ด้วย จากตัวอย่างที่ถามมานี้ หากเพิ่มชีทออกไปอีกก็จะต้องแก้สูตรกันใหม่เรื่อยไป

กลับมาที่ Function Index จะมีไวยากรณ์คือ

=Index(ช่วงข้อมูล,บรรทัดที่ต้องการนำมาแสดง,คอลัมน์ที่ต้องการนำมาแสดง)

จะเห็นว่ามี 3 Arguments หรือ 3 ส่วนประกอบ ซึ่งสูตรที่ผมตอบไปก็มีลักษณะนี้เช่นกัน

จากสูตร =INDEX(INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"A:XFD"),MATCH($C2,INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"C:C"),0),MATCH(E$1,INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"1:1"),0))

ช่วงข้อมูลคือผลลัพธ์ที่ได้จากสูตร INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"A:XFD")
บรรทัดที่ต้องการนำมาแสดงคือผลลัพธ์ที่ได้จากสูตร MATCH($C2,INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"C:C"),0)
คอลัมน์ที่ต้องการนำมาแสดงคือผลลัพธ์ที่ได้จากสูตร MATCH(E$1,INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"1:1"),0)

เครื่องหมาย ! ในฟังก์ชั่น Indirect เป็นตัวชี้ว่า ก่อนหน้าเครื่องหมายนี้คือชื่อชีท หลังเครื่องหมายนี้คือชื่อเซลล์ คำว่า Indirect คือ เป็นทางอ้อม หรือ ไม่ใช่ทางตรง หากเขียนสูตรเป็น =Indirect("Sheet1!A5") หมายความว่าให้แสดงค่าในเซลล์ A5 ของ Sheet1

ดังนั้น จากสูตร INDIRECT(LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"})&"!"&"A:XFD") จึงสามารถแจกแจงเป็นดังนี้
  1. ผลลัพธ์จากสูตร LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"}) คือชื่อชีท ซึ่งสูตร LOOKUP(LEFT($C2),{"r","s"},{"rlot","slot"}) จะให้ผลลัพธ์เป็น rlot หรือ slot ก็ขึ้นอยู่กับอักขระแรกของ C2 ถ้าเป็น r ก็จะได้ชีท rlot ถ้าเป็น s ก็จะได้ชีท slot ถ้าไม่ใช่ทั้งสองอย่างก็จะเป็น #N/A ซึ่งต้องทราบความหมายของฟังก์ชั่น Lookup และ Left มาก่อนว่าทำงานอย่างไร และสามารถให้ผลลัพธ์อย่างไร
  2. ! คือเครื่องหมายที่บอกว่าก่อนหน้านี้คือชื่อชีทและหลังเครื่องหมายนี้คือตำแหน่งเซลล์
  3. A:XFD คือตำแหน่งเซลล์ ซึ่งไม่ได้ระบุบรรทัด เป็นช่วงเซลล์ของทั้ง Worksheet หากระบุเป็น 1:1 คือเฉพาะบรรทัดที่ 1 ของ Worksheet
นอกจากตามด้านบนแล้ว ต้องทำความเข้าใจว่าฟังก์ชั่น Match มีความหมายว่าอย่างไรและสามารถให้ผลลัพธ์อย่างไรอีกด้วย ซึ่งสามารถศึกษาทุกฟังก์ชั่นได้ที่ http://office.microsoft.com/th-th/excel ... aspx?CTT=1
ampertise
Member
Member
Posts: 36
Joined: Sun Jun 17, 2012 1:41 pm
Excel Ver: 2019,365,2013,2010

Re: ทำอย่างไรให้ vlookup ข้ามชีตแบบสองเงื่อนไข ได้

#20

Post by ampertise »

อ่านที่อาจารย์อธิบายแล้วเข้าใจมากขึ้นคะ
แต่มีปัญหาใหม่อีกกรณี ที่ขอถามอาจารย์หรือผู้รู้ท่านอื่น

เกี่ยวกับ vlookup ข้ามชีต โดยมีไฟล์ใหม่มาแนบประกอบคำถาม ดังนี้
ชีต "sale" ในคอลัมน์ "com" มีข้อมูล "siam" และ "rang" สลับกันไปแต่ละบรรทัดไม่เท่ากัน และต้องการให้ข้อมูลทั้งแถวของ "siam" แสดงในชีต "s" ถ้าของ "rang" มาแสดงในชีต "r" (คอลัมน์ในชีต "siam" และ "rang" มีคอลัมน์เรียงเหมือนกันกับชีต "sale")
ได้ลองทำเองโดยเลือกคำสั่ง "if" แต่ผลที่ออกมาคือ บรรทัดไหนที่ไม่ใช่ siam มันก็จะเว้นบรรทัดไม่ต่อบรรทัดกัน
จะต้องใช้คำสั่งเพิ่มเติมอะไรถึงจะตัดบรรทัดที่เว้นออกไปเพื่อให้บรรทัดติดกันได้คะ
You do not have the required permissions to view the files attached to this post.
Post Reply