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

พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

ฟอรั่มถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#1

Postby kio2002 » Mon Nov 07, 2016 7:37 pm

สวัสดีสมาชิกทุกท่านครับ
ผมต้องการ พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดงที่sheet1ครับ
ตอนนี้ผมทำให้มันดึงมาแค่ชีทเดียวคือ sheet2 แต่อนาคตผมจะสร้างชีทมาประมาณ 10 หรือ 15 ชีท ฯลฯ

เซลล์ที่ต้องการพิมพ์รหัสสินค้าคือเซลล์ A1 ของsheet1
และต้องการ
ดึงชื่อสินค้าจาก sheet2 และ sheet3 ที่เซลล์ G2
ดึงราคาสินค้าจาก sheet2 และ sheet3 ที่เซลล์ h2
ตอนนี้ผมทำสูตรให้มันดึงได้แค่ชีท2 ชีทเดียว
รบกวนสมาชิกช่วยแนะนำและปรับสูตรให้หน่อยครับ ลองหลายวิธีแล้ว ไม่ได้ซักที

=IF(ISBLANK(A2),"",(VLOOKUP(A2,Sheet2!$F$2:Sheet2!$G$6,2,FALSE))) ดึงชื่อสินค้ามาแสดง
=IF(ISBLANK(A2),"",(VLOOKUP(A2,Sheet2!$F$2:Sheet2!$H$6,3,FALSE))) ดึงราคาสินค้ามาแสดง
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 20916
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#2

Postby snasui » Mon Nov 07, 2016 8:01 pm

:D ดูตัวอย่างการทำ Vlookup จากหลายชีตจากกระทู้นี้ครับ viewtopic.php?t=6613

kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#3

Postby kio2002 » Tue Nov 08, 2016 8:59 am

ผมลองทำแล้วครับ มันขึ้น #N/A
รบกวนตรวจสอบให้อีกทีครับ ไม่รู้ว่าผมทำผิดขั้นตอนตรงไหนรึเปล่า
ชื่อ sheet2 เป็นชีทที่สร้างขึ้นมาตามที่อาจารย์แนะนำ

เพิ่มชีทขึ้นมา 1 ชีท
เซลล์ A2:A3 กรอกชีทชีททั้งหมดเริ่มจาก อาหาร ถึง ขนม
ไปที่ Name Box คีย์ SheetAll แล้ว Enter (ตรงนี้ผมคลุม A2:A3 แล้วค่อยพิมพ์ SheetALL)

นำสูตรไปปรับ แล้วแต่ยังขึ้น #N/A

Code: Select all

=VLOOKUP($A2,INDIRECT("'"&INDEX(SheetALL,MATCH(1,COUNTIF(INDIRECT("'"&SheetALL&"'!B1:B1000"),$A2),0))&"'!B2:Z1000"),MATCH(B$1,อาหาร!$B$2:$Z$2,0))


รบกวนอาจารย์ช่วยตรวจสอบ หรือยกตัวอย่างมาให้หน่อยครับ
You do not have the required permissions to view the files attached to this post.

User avatar
DhitiBank
Gold
Gold
Posts: 1538
Joined: Mon Oct 15, 2012 12:07 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#4

Postby DhitiBank » Tue Nov 08, 2016 11:08 am

ลองปรับสูตรเป็นแบบนี้ครับ

B2
=VLOOKUP($A2,INDIRECT("'"&INDEX(SheetALL,MATCH(1,COUNTIF(INDIRECT("'"&SheetALL&"'!A1:A1000"),$A2),0))&"'!A2:Z1000"),MATCH(B$1,อาหาร!$A$1:$Z$1,0))

การกดรับสูตรต้องกด Ctrl+Shift ค้างแล้ว Enter ครับ

kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#5

Postby kio2002 » Tue Nov 08, 2016 7:42 pm

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

ว่าแต่จะขอสอบถามเพื่อทำความเข้าใจหน่อยครับ

=VLOOKUP($A2,INDIRECT("'"&INDEX(SheetALL,MATCH(1,COUNTIF(INDIRECT("'"&SheetALL&"'!A1:A1000"),$A2),0))&"'!A2:Z1000"),MATCH(B$1,อาหาร!$A$1:$Z$1,0))
เลข1 สีน้ำเงินนี้หมายถึงตรงไหนครับ

=VLOOKUP($A2,INDIRECT("'"&INDEX(SheetALL,MATCH(1,COUNTIF(INDIRECT("'"&SheetALL&"'!A1:A1000"),$A2),0))&"'!A2:Z1000"),MATCH(B$1,อาหาร!$A$1:$Z$1,0))
อาหาร สีเขียวนี้ทำไมต้องใส่ชื่อsheetนี้ สามารถใส่ชื่อsheetอื่นได้ไหมครับ

User avatar
snasui
Site Admin
Site Admin
Posts: 20916
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#6

Postby snasui » Tue Nov 08, 2016 7:48 pm

:D อ้างอิงชีตอื่นก็ได้แต่ต้องมีค่าเหมือนกับ อาหาร!$A$1:$Z$1 ทุกประการครับ

kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#7

Postby kio2002 » Mon Nov 14, 2016 9:21 pm

ผมเอาไปใช้แล้ว แต่ติดปัญหาตรงรหัสสินค้าที่ผมกำหนดขึ้นมา
ในชีท อาหาร ซึ่งมีรายการค่อนข้างเยอะ ผมกำหนดรหัสสินค้า food1 ในรายการแรก และ food2, food3 ลงไปเรื่อยๆ จนถึง food11, food12
พอผมพิมพ์ รหัสสินค้า food11 และfood12 สูตรมันไม่ดึงชื่อสินค้าของรหัส food11 และfood12 แต่กลับไปดึงชื่อสินค้าของรหัสfood1มาแสดง
ชื่อสินค้าของรหัส food11 คือ ผัดพริกแกง
ชื่อสินค้าของรหัส food12 คือ ส้มตำ
ถ้าตามที่ผมเข้าใจ สูตรจะตรวจจับรหัสสินค้าเฉพาะตัวท้าย เลยทำให้ดึงชื่อสินค้าผิดมาแสดง
พอจะมีแนวทางให้สูตรมันอ่านเลขท้ายๆได้2หลักหรือ3หลักขึ้นไปไหมครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 20916
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#8

Postby snasui » Mon Nov 14, 2016 10:16 pm

:D ตัวอย่างการปรับสูตรครับ

เซลล์ B2 คีย์

=VLOOKUP($A2,INDIRECT("'"&INDEX(SheetALL,MATCH(1,COUNTIF(INDIRECT("'"&SheetALL&"'!A1:A1000"),$A2),0))&"'!A2:Z1000"),MATCH(B$1,อาหาร!$A$1:$Z$1,0),0)

Ctrl+Shift+Enter > Copy ลงด้านล่าง

kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#9

Postby kio2002 » Tue Nov 15, 2016 8:32 pm

ใช้ได้แล้วครับอาจารย์ หากติดตรงไหนจะมาสอบถามเพิ่มนะครับ ขอบคุณมากๆเลยครับ

kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#10

Postby kio2002 » Fri Nov 18, 2016 5:38 pm

ถ้าต้องการเปลี่ยน #N/A เป็น ค่าวาง จะปรับสูตรได้อย่างไรครับ
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 20916
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#11

Postby snasui » Fri Nov 18, 2016 6:38 pm

:D ใช้ Iferror เข้าไปครอบได้ครับ เช่น

=Iferror(OldFormula,"")

OldFormula คือสูตร Vlookup เดิมตามด้านบน :roll: ครับ

kio2002
Member
Member
Posts: 114
Joined: Thu Sep 20, 2012 8:40 am

Re: พิมพ์รหัสสินค้า แล้วดึงชื่อสินค้า และราคาจากหลายๆชีทมาแสดง

#12

Postby kio2002 » Sat Nov 19, 2016 8:42 am

ได้แล้วครับ ขอบคุณครับ


Return to “Excel”

Who is online

Users browsing this forum: Google Feedfetcher, PayomKanboon, puriwutpokin, sksk and 24 guests