: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#1

Post by jakraphong »

ผมใช้งานvlookup ในการหารายการสินค้าที่สั่งซื้อ
ที่นี้ผมต้องการให้ระบบแสดงทั้งหมดนะครับที่สูตรพบ มิใช่แสดงแต่ค่าแรกที่พบครับ
เช่นโคด a001_220ml มีการสั่งซื้อหลายครั้งใน sheet ค้างรับ19.04 แต่ระบบจะแสดงแค่ค่าแรกเท่านั้น
ต้องทำเช่นไรครับ
ขอขอบคุณมากๆครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#2

Post by snasui »

:D ควรแจ้งชีทแจ้งเซลล์ที่ต้องการคำตอบมาด้วยเพื่อจะได้เข้าถึงข้อมูลโดยไว สำหรับที่ถามมาลองตามด้านล่างครับ

ที่ชีท MOPbrand19.4.12
  1. เซลล์ H5 คีย์
    =IFERROR(INDEX(ONhand19.4!$D$1:$D$2176,SMALL(IF(C5=ONhand19.4!$A$1:$A$2176,ROW(ONhand19.4!$A$1:$A$2176)-ROW(ONhand19.4!$A$1)+1),COUNTIF(C$5:C5,C5))),0)
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
  2. เซลล์ I5 คีย์
    =IFERROR(INDEX(ค้างรับ19.04!$D$2:$D$895,SMALL(IF(C5=ค้างรับ19.04!$A$2:$A$895,ROW(ค้างรับ19.04!$A$2:$A$895)-ROW(ค้างรับ19.04!$A$2)+1),COUNTIF(C$5:C5,C5))),0)
    Ctrl+Shift+Enter > Copy ลงด้านล่าง
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#3

Post by jakraphong »

ครับผม
sheet ที่ต้องใช้งานคือ MOPbrand19.4.12 ครับ ขออภัยครับ
ส่วนสูตรที่ให้มาคือ เรียกเป็นทางการว่าอย่างไรครับ
และผมสามารถนำไปใช้กับชีทอื่นที่ต้องการข้อมูลเหมือนๆกันได้ไหมครับ
ขอบคุณอีกครั้งครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#4

Post by jakraphong »

เพิ่มเติมส่วนที่ถามครับ
คือใน sheet MOPbrand19.4.12นั้น
จากแถว C คือ Item code สินค้าครับ
ในกรณีนี้คือว่า ผมต้องการให้สูตรแสดง
สินค้า โคด A001_220ml ( C5 ) ว่ามีรายการค้างรับจาก sheet ค้างรับ19.04 กี่รายการ
โดยให้แสดงรายการที่พบทั้งหมดใน sheet MOPbrand19.4.12 ที่แถว I5 ครับ
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#5

Post by snasui »

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

สำหรับสูตรนี้สามารถเรียกได้ว่า "สูตรสำหรับค้นหาข้อมูลทุกรายการที่สัมพันธ์กับค่าใดค่าหนึ่ง" ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#6

Post by snasui »

jakraphong wrote:เพิ่มเติมส่วนที่ถามครับ
คือใน sheet MOPbrand19.4.12นั้น
จากแถว C คือ Item code สินค้าครับ
ในกรณีนี้คือว่า ผมต้องการให้สูตรแสดง
สินค้า โคด A001_220ml ( C5 ) ว่ามีรายการค้างรับจาก sheet ค้างรับ19.04 กี่รายการ
โดยให้แสดงรายการที่พบทั้งหมดใน sheet MOPbrand19.4.12 ที่แถว I5 ครับ
ขอบคุณครับ
ช่วยแนบไฟล์มาใหม่ แสดงตัวอย่างคำตอบที่ต้องการมาด้วย จะได้คำนวณเปรียบเทียบได้ครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#7

Post by jakraphong »

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

สำหรับสูตรนี้สามารถเรียกได้ว่า "สูตรสำหรับค้นหาข้อมูลทุกรายการที่สัมพันธ์กับค่าใดค่าหนึ่ง" ครับ
ขอบคุณมากเลยครับ
ยังไงรบกวนขอในส่วนที่ถามเพิ่มเติมด้วยนะครับ
ใส่รายละเอียดคำถามเพิ่มเติมอยู่ในไฟล์(ช่อง L5 ครับ)แนบครับ
ขอขอบคุณอีกครั้งครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#8

Post by snasui »

:lol:
อ้างถึง item code a001_220ml ( C5 ) ซึ่งมีรายการค้างรับจาก sheet "ค้างรับ19.04" ในส่วนของโคด a001_220ml หลายจำนวน ซึ่งผมต้องการให้สูตรเรียกข้อมูลมาทั้งหมดมาแสดงอยู่ในช่อง(แสดงในช่อง I5 )เดียวกัน (อาจคั่นแต่ละข้อมูลด้วย(,)) ต้องเขียนสูตรอย่างไรแนะนำด้วยครับ
ควรเขียนข้อมูลนี้ลงในฟอรัมด้วยครับ สำหรับที่ต้องการนั้น ไม่สามารถทำด้วย Function ที่มากับ Excel ได้ครับ สามารถทำได้ด้วย VBA หรือใช้ Add-ins เช่น Morefunc สามารถดาวน์โหลดได้จาก Link นี้ viewtopic.php?f=9&t=9 สามารถติดตั้งได้ใน Excel 2003, 2007 แต่ไม่สามารถติดตั้งได้ใน Excel 2010

หากติดตั้ง Morefunc เรียบร้อยแล้วสามารถเขียนสูตรที่ I5 ได้เป็น

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MCONCAT(IF(C5=ค้างรับ19.04!$A$3:$A$896,ค้างรับ19.04!$D$3:$D$896),", "),"FALSE, ",""),", FALSE",""),"FALSE","")

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

กรณีผมถามถึงตัวอย่าง ควรกรอกตัวอย่างด้วยมือเพื่อแสดงค่าที่ถูกต้องมาครับ ผมจะได้เปรียบเทียบได้ว่าควรจะใช้สูตรในลักษณะใดเพื่อให้ตรงกับที่ต้องการ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#9

Post by jakraphong »

snasui wrote::lol:
อ้างถึง item code a001_220ml ( C5 ) ซึ่งมีรายการค้างรับจาก sheet "ค้างรับ19.04" ในส่วนของโคด a001_220ml หลายจำนวน ซึ่งผมต้องการให้สูตรเรียกข้อมูลมาทั้งหมดมาแสดงอยู่ในช่อง(แสดงในช่อง I5 )เดียวกัน (อาจคั่นแต่ละข้อมูลด้วย(,)) ต้องเขียนสูตรอย่างไรแนะนำด้วยครับ
ควรเขียนข้อมูลนี้ลงในฟอรัมด้วยครับ สำหรับที่ต้องการนั้น ไม่สามารถทำด้วย Function ที่มากับ Excel ได้ครับ สามารถทำได้ด้วย VBA หรือใช้ Add-ins เช่น Morefunc สามารถดาวน์โหลดได้จาก Link นี้ viewtopic.php?f=9&t=9 สามารถติดตั้งได้ใน Excel 2003, 2007 แต่ไม่สามารถติดตั้งได้ใน Excel 2010

หากติดตั้ง Morefunc เรียบร้อยแล้วสามารถเขียนสูตรที่ I5 ได้เป็น

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MCONCAT(IF(C5=ค้างรับ19.04!$A$3:$A$896,ค้างรับ19.04!$D$3:$D$896),", "),"FALSE, ",""),", FALSE",""),"FALSE","")

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

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

โอ...ขอบพระคุณอย่างสูงสำหรับคำแนะนำนะครับ
เดี๋ยวผมลองโหลด แล้วลองดูครับ
ได้ความอย่างไรจะแจ้งให้ทราบครับ
ขอขอบคุณอีกครั้งครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#10

Post by jakraphong »

:lol:
ได้แล้วครับ
ข้าน้อยขอคาราวะ ด้วยใจจริง
ขอบคุณครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#11

Post by jakraphong »

snasui wrote::lol:
อ้างถึง item code a001_220ml ( C5 ) ซึ่งมีรายการค้างรับจาก sheet "ค้างรับ19.04" ในส่วนของโคด a001_220ml หลายจำนวน ซึ่งผมต้องการให้สูตรเรียกข้อมูลมาทั้งหมดมาแสดงอยู่ในช่อง(แสดงในช่อง I5 )เดียวกัน (อาจคั่นแต่ละข้อมูลด้วย(,)) ต้องเขียนสูตรอย่างไรแนะนำด้วยครับ
ควรเขียนข้อมูลนี้ลงในฟอรัมด้วยครับ สำหรับที่ต้องการนั้น ไม่สามารถทำด้วย Function ที่มากับ Excel ได้ครับ สามารถทำได้ด้วย VBA หรือใช้ Add-ins เช่น Morefunc สามารถดาวน์โหลดได้จาก Link นี้ viewtopic.php?f=9&t=9 สามารถติดตั้งได้ใน Excel 2003, 2007 แต่ไม่สามารถติดตั้งได้ใน Excel 2010

หากติดตั้ง Morefunc เรียบร้อยแล้วสามารถเขียนสูตรที่ I5 ได้เป็น

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(MCONCAT(IF(C5=ค้างรับ19.04!$A$3:$A$896,ค้างรับ19.04!$D$3:$D$896),", "),"FALSE, ",""),", FALSE",""),"FALSE","")

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

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

สวัสดีครับ ขอเข้ามารบกวนอีกครั้งครับ ตอนนี้องค์กรผมเปลี่ยน ใช้ excel2010 แล้วจะใช้สูตรแบบไหนดีครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#12

Post by snasui »

:lol: ตอบไปแต่ครั้งนั้นแล้วเช่นกันครับ
snasui wrote:สำหรับที่ต้องการนั้น ไม่สามารถทำด้วย Function ที่มากับ Excel ได้ครับ สามารถทำได้ด้วย VBA
กรณีใช้ VBA ให้เขียนมาก่อนตามกฎข้อ 5 ด้านบนครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#13

Post by jakraphong »

snasui wrote::lol: ตอบไปแต่ครั้งนั้นแล้วเช่นกันครับ
snasui wrote:สำหรับที่ต้องการนั้น ไม่สามารถทำด้วย Function ที่มากับ Excel ได้ครับ สามารถทำได้ด้วย VBA
กรณีใช้ VBA ให้เขียนมาก่อนตามกฎข้อ 5 ด้านบนครับ

ขอบคุณมากๆครับเดี๋ยวผมขอไปตั้งหัวข้อใหม่นะครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

ต้องการให้แสดงข้อมูลการซื้อสินค้ารายการที่ซื้อซ้ำๆมาอยู่ในคอ

#14

Post by jakraphong »

อาจารย์ครับ

ปัญหานี้อาจารย์เคยแก้ให้แล้วครับ แต่ว่าทางบริษัทได้เปลี่ยนมาใช้ Excel2010 ทำให้สูตรเดิมที่อาจารย์กรุณาแนะนำไม่สามารถใช้ได้
ผมเลยต้องขอมารบกวนอีกครั้งครับ


คำถามครับ

ผมมีข้อมูลการซื้อ ซ้ำๆกันหลายครั้งในตัวสินค้าเดียวกันเช่น

สินค้ารหัส d110_25ml มีการ ขอซื้อ 3 PO

สิ่งที่ต้องการคือ ผมต้องการเลขที่ PO ทั้ง 3 มาโชว์ในคอลัมภ์เดียวกันครับ

ขอถามโดยอ้างจากไฟล์แนบนะครับ

ใน sheet A รหัส D110_25ml (จากแถว B143 ) มีการซื้อทั้งหมด 3 PO ( sheet ค้างรับ17.5 แถวD778-D780 ) เลขที่ PO แสดงที่แถว H778-780

ผมต้องการให้ เลขที่ PO ทั้งหมดของการซื้อ รหัส D110_25ml นี้ คือ POP550900053 POP56030001 POP56050001

แสดงในคอลัมภ์ E143

ตามตัวอย่างที่แนบครับ

ขอความกรุณาด้วยครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#15

Post by snasui »

:D ผมนำโพสต์นี้กลับมารวมไว้ในกระทู้นี้ เนื่องจากว่าเรื่องเดียวควรโพสต์ต่อจากกระทู้เดิม ไม่ควรตั้งกระทู้ใหม่ครับ

กรณีนี้ผมแจ้งแล้วว่าต้องใช้ VBA และต้องเขียนมาก่อน ติดตรงไหนค่อยถามกัน ไม่ได้หมายความว่ากระทู้ใดที่ตอบด้วยสูตรแล้วจะไม่ตอบเป็นอย่างอื่นอีก และไม่ได้หมายความว่าใช้วิธีการแก้ไขเป็นอย่างอื่นแล้วต้องไปตั้งกระทู้ใหม่
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#16

Post by jakraphong »

snasui wrote::D ผมนำโพสต์นี้กลับมารวมไว้ในกระทู้นี้ เนื่องจากว่าเรื่องเดียวควรโพสต์ต่อจากกระทู้เดิม ไม่ควรตั้งกระทู้ใหม่ครับ

กรณีนี้ผมแจ้งแล้วว่าต้องใช้ VBA และต้องเขียนมาก่อน ติดตรงไหนค่อยถามกัน ไม่ได้หมายความว่ากระทู้ใดที่ตอบด้วยสูตรแล้วจะไม่ตอบเป็นอย่างอื่นอีก และไม่ได้หมายความว่าใช้วิธีการแก้ไขเป็นอย่างอื่นแล้วต้องไปตั้งกระทู้ใหม่

อาจารย์ครับ ผมต้องขออภัยครับ
ผมไม่มีความรุ็ด้านการเขียน VBA เลยครับ
ได้โปรดช่วยแนะนำด้วยครับ

แบบว่าผมเรียนรู้ด้วยตัวเองแบบครูพักลักจำครับ

ขอขอบคุณอาจารย์ด้วยครับที่ช่วยแนะนำครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31255
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#17

Post by snasui »

:D หากเป็น VBA จำเป็นต้องเขียนมาก่อนทุกกรณี ไม่มียกเว้นครับ

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

ลองตามนี้ครับ
  1. ชีท A เซลล์ F4 คีย์

    Code: Select all

    =IFERROR(INDEX(ค้างรับ17.5!$H$5:$H$882,SMALL(IF(ค้างรับ17.5!$D$5:$D$882=$B4,ROW(ค้างรับ17.5!$H$5:$H$882)-ROW(ค้างรับ17.5!$H$5)+1),COLUMNS($F4:F4))),"")
    Ctrl+Shift+Enter > Copy ไปทางขวาถึง M4 แล้ว Copy ลงด้านล่าง
  2. ที่เซลล์ E4 คีย์

    Code: Select all

    =IF(F4="","",LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F4&","&G4&","&H4&","&I4&","&J4&","&K4&","&L4&","&M4&",",",,,,,",","),",,,,",","),",,,",","),",,",","),SUMPRODUCT(LEN(F4:M4))+COUNTIF(F4:M4,"?*")-1))
    Enter < Copy ลงด้านล่าง
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#18

Post by jakraphong »

อาจารย์ ขอบคุณมากๆๆๆๆๆครับ
เดี๋ยวผมขอนำไปใช้ ได้ผลอย่างไรผมขอกลับมาแจ้งอีกครั้งครับ
jakraphong
Member
Member
Posts: 15
Joined: Thu May 10, 2012 2:13 pm

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#19

Post by jakraphong »

ใช้ได้แล้วคร้าบบบบ
ผมขอขอบคุณท่านอาจารย์ มากๆๆๆครับ
วังวู ช่ง
Silver
Silver
Posts: 811
Joined: Thu May 31, 2012 2:27 pm
Location: Laos
Excel Ver: MS Excel for office 365 MSO
Contact:

Re: ต้องการให้vlookupแสดงทุกค่าที่พบครับ

#20

Post by วังวู ช่ง »

snasui wrote::D หากเป็น VBA จำเป็นต้องเขียนมาก่อนทุกกรณี ไม่มียกเว้นครับ

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

ลองตามนี้ครับ
  1. ชีท A เซลล์ F4 คีย์

    Code: Select all

    =IFERROR(INDEX(ค้างรับ17.5!$H$5:$H$882,SMALL(IF(ค้างรับ17.5!$D$5:$D$882=$B4,ROW(ค้างรับ17.5!$H$5:$H$882)-ROW(ค้างรับ17.5!$H$5)+1),COLUMNS($F4:F4))),"")
    Ctrl+Shift+Enter > Copy ไปทางขวาถึง M4 แล้ว Copy ลงด้านล่าง
  2. ที่เซลล์ E4 คีย์

    Code: Select all

    =IF(F4="","",LEFT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(F4&","&G4&","&H4&","&I4&","&J4&","&K4&","&L4&","&M4&",",",,,,,",","),",,,,",","),",,,",","),",,",","),SUMPRODUCT(LEN(F4:M4))+COUNTIF(F4:M4,"?*")-1))
    Enter < Copy ลงด้านล่าง
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
ความรู้ที่ยอดเยี่ยมครับ ขอบคุณมากสำลับเจ้าของกระทู้ และท่านอาจารย์ที่แนะนำสูตรแบบนี้ ผมชอบมากครับ
Post Reply