: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

ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายการ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายการ

#1

Post by voravit »

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

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#2

Post by snasui »

:D จากที่อธิบายมาในไฟล์แนบ
voravit wrote: วัตถุประสงค์ : ต้องการดึงข้อมูลจาก รายงานทะเบียน เช็ครับ ไปยัง ใบนำฝากเช็คธนาคาร โดยใช้การอ้างอิงจากเลขที่บัญชี

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

เรียน รบกวน อาจารย์ช่วยแนะนำสูตรด้วยครับ ขอบพระคุณครับ

หมายเหตุ : ส่งข้อมูล รายงานทะเบียนเช็ครับ(chqrec) ส่วนที่ระบายสีแดง ไปยัง ใบนำฝากเช็ค(kbSQ) ส่วนที่ระบายสีเหลือง
ที่ชีท kbSQ เซลล์ G11 คีย์สูตร

=IFERROR(INDEX(chqrec!F$9:F$14,SMALL(IF(chqrec!$C$9:$C$14=LOOKUP(9.99999999999999E+307,$E$11:$E15),ROW(chqrec!$F$9:$F$14)-ROW(chqrec!$F$9)+1),COUNTIF($E$11:$E15,LOOKUP(9.99999999999999E+307,$E$11:$E15)))),"")

Ctrl+Shift+Enter > Copy ไปทางขวา กรณีเซลล์มีการ Merge จะไม่สามารถใช้สูตรนี้ซึ่งเป็นสูตร Array ได้ > ปรับใช้กับเซลล์อื่น ๆ ที่เหลือโดยเปลี่ยนเฉพาะที่ระบายสีไว้ในสูตร จากนั้น Copy ไปยังช่วงอื่น ๆ

!
Note: Ctrl+Shift+Enter หมายถึงเมื่อคีย์สูตรแล้ว แทนที่จะกด Enter ให้กดแป้น Ctrl+Shift ค้างไว้แล้วกด Enter เพื่อสร้างเป็นสูตร Array หากกดแป้นถูกต้องสูตรนั้นจะมีเครื่องหมายปีกกาครอบ เช่น {=YourFormulas(...)} ปีกกานี้คีย์เข้าไปเองไม่ได้ ถ้ายังไม่เห็นปีกกาครอบสูตรแสดงว่ากดแป้นให้รับสูตรไม่ถูกต้อง
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#3

Post by voravit »

ขอบพระคุณครับอาจารย์ เบื้องต้นผมทำตามที่อาจารย์แนะนำ คือ นำสูตรใส่ลงในเชล G11 ได้ผลลัพธ์ตามต้องการแล้วครับ และ ผมกำลัง copy สูตรไปยัง เซล อื่นๆ ถ้าติดขัดอะไรจะเรียนขอข้อแนะนำเพิ่มครับ
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#4

Post by voravit »

2BN&BFc-topics.xlsm
เรียน : อาจารย์ ครับ
1. ผม คัดลอกสูตรไปใช้แล้วครับ ผลออกมาในช่องกรอก อันดับที่ 1 เลขที่เช็ค วันที่ จำนวนเงินได้ จะมีที่ยังไม่ได้ คือ เลขที่เช็ค และ ช่อง ที่เปลี่ยนจำนวนเงินเป็นตัวเลขเป็นตัวอักษรคับ
2. ผมคัดลอดสูตรเดิมไปที่ช่องกรอก อันดับที่สอง แต่ ปรากฏว่า เลขที่เช็ค ก็ยังซ้ำกับ ช่องกรอก อันดับที่ 1 อยู่ครับผมต้องปรับแก้สูตรยังไงครับ
รบกวนอาจารย์ให้คำแนาะนำเพิ่มเติมด้วยครับ ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#5

Post by snasui »

:D ปรับสูตรที่ E13 เป็นด้านล่างครับ

=IF(ISNA(VLOOKUP(E14,chqrec!$C$9:$K$14,6,0)),"",BAHTTEXT(VLOOKUP(E14,chqrec!$C$9:$K$14,6,0)))

Enter > Copy ไปยังเซลล์ในฟอร์มด้านล่างที่อยู่ในตำแหน่งเดียวกัน

สูตร BathText ที่เขียนมาเดิมเป็นการอ้างคอลัมน์ I ซึ่งคอลัมน์ I ตามสูตรที่ผมตอบไปจะอ้างมายังคอลัมน์ E สูตรที่ผมเขียนตอบไปจึงทำงานไม่ถูกต้องเนื่องจากเป็นการอ้างอิงแบบวงกลม

สำหรับในสูตรเดิม ช่วงของสูตร ROW(chqrec!$F$9:$F$14)-ROW(chqrec!$F$9)+1 จะต้องบวกด้วย 1 เท่านั้น ห้ามปรับเป็นบวกด้วยค่าอื่น หากไม่ได้คำตอบแสดงว่ามีบางอย่างผิดพลาด ซึ่งไม่เกี่ยวกับเลข 1 ครับ
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#6

Post by voravit »

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

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#7

Post by snasui »

:D ปรับสูตรที่ G11 เป็นด้านล่างครับ

=IFERROR(IF(LOOKUP(2,1/($C$11:$C15="ผู้สั่งจ่าย :"),$E$11:$E15)="","",INDEX(chqrec!F$9:F$55,SMALL(IF(chqrec!$C$9:$C$55=LOOKUP(9.99999999999999E+307,$E$11:$E15),ROW(chqrec!$F$9:$F$55)-ROW(chqrec!$F$9)+1),COUNTIF($E$11:$E15,LOOKUP(9.99999999999999E+307,$E$11:$E15))))),"")

Ctrl+Shift+Enter > ปรับใช้กับ Cell อื่น ๆ
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#8

Post by voravit »

เรียน : อาจารย์ ที่นับถือ
ส่งการบ้านครับอาจารย์ ผมได้นำสูตรที่อาจารย์ปรับแก้ให้ เอาไปลงแล้วครับ ผลที่ได้เกือบครบแล้วครับ ติดอยู่ สอง ประเด็นที่อยากให้อาจารย์ช่วยครับ คือ
1. ในช่องจำนวนเงินที่เป็นตัวอักษร ปรากฏว่า ค่าที่ ส่งมา จะซ้ำกัน ในรายที่มีเลขที่ บัญชี ซ้ำกันครับ
2. ในช่อง ref ทั้ง สาม ช่อง ถ้า ช่องแบบเดียวกันนี้ใน ฐานข้อมูล ไม่มีข้อมูล ค่าที่ส่งมาจะได้เป็น ศุนย์(0) พอผมใส่เงื่อนไข ให้แสดงค่าเป็นรูปแบบ IV560#### ผลที่ออก จะเป็น IV56-00 จะต้องปรับแก้สูตรอย่างไรครับ เพื่อให้เป็นช่องว่างๆ ตอนนี้ผม ทำได้แค่ ใส่เงื่อนไข ให้เป็นตัวสีขาว เพื่อให้มองไม่เห็น แต่ ไม่แน่ใจว่าพอ สั่งพิมพ์ ข้อความนั้นจะปารากฏออกมาหรือไม่
ขอรบกวนอาจารย์เพิ่มเติมตามที่เรียนมาด้วยครับ
ขอขอบพระคุณเป็นอย่างสูงครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#9

Post by snasui »

:D ลองตามนี้ครับ
  1. เซลล์ F14 ปรับสูตรเป็น
    =IFERROR(IF(E14="","",INDEX(chqrec!$D$9:$D$55,SMALL(IF(chqrec!$C$9:$C$55=$E14,ROW(chqrec!$F$9:$F$55)-ROW(chqrec!$F$9)+1),COUNTIF($E$11:$E15,E$14)))),"")
    Ctrl+Shift+Enter > Copy ไปยังเซลล์อื่น ๆ ที่เกี่ยวข้อง
  2. กรณีผลลัพธ์เป็น 0 แล้วต้องการให้แสดงค่าว่าง สามารถกำหนด Format Cells เป็น [>0]IV56-00###;[=0]""
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#10

Post by voravit »

เรียน : อาจารย์ ที่นับถือ ครับ
ผมลงสูตรแล้วครับ แต่ การแสดงค่า ของ จำนวนเงินที่เป็นตัว อักษรยังไม่ได้ครับ รบกวนอาจารย์ อีกครั้งครับ
ขอบพระคุณเป็นอย่างสูงครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31257
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#11

Post by snasui »

:D สูตรในเซลล์ E13 จะต้องเลื่อนไปเป็น F13 เนื่องจากหากเขียนที่คอลัมน์ E จะเกิดการคำนวณเป็นวงกลม โดยเขียนเป็นตามด้านล่างครับ

=IFERROR(IF(E14="","",BAHTTEXT(INDEX(chqrec!$H$9:$H$55,SMALL(IF(chqrec!$C$9:$C$55=$E14,ROW(chqrec!$F$9:$F$55)-ROW(chqrec!$F$9)+1),COUNTIF($E$11:$E15,E14))))),"")

Ctrl+Shift+Enter > Copy ไปยังเซลล์อื่น ๆ ที่เกี่ยวข้อง

ปกติการทำงานลักษณะนี้จะหลีกเลี่ยงการเขียนสูตรดึงข้อมูลให้ลงในฟอร์มหลาย ๆ ฟอร์มต่อเนื่องกันโดยตรงครับ เพราะจะเป็นสูตรที่ซับซ้อนและทำความเข้าใจยากมาก และหากไม่เข้าใจแล้วจะแก้ไขเองไม่ได้ สูตรที่เขียนในฟอร์มต้องระวังในเรื่องการอ้างอิงตำแหน่งไม่ให้เกิดการอ้างอิงเป็นวงกลม ฯลฯ

วิธีการที่ดีกว่าคือเพิ่มพื้นที่สำหรับการแสดงรายการที่เข้าเงื่อนไขทั้งหมด (ไม่ว่าจะมีกี่รายการหากเข้าเงื่อนไขจะ List ออกมาทั้งหมด) หลังจากนั้นจึงใช้สูตรง่าย ๆ เช่นด้านล่างดึงข้อมูลจากพื้นที่ดังกล่าวลงในฟอร์มตามต้องการ

=if(A1="","",A1)
=If(B1="","",B1)

เป็นต้น
voravit
Member
Member
Posts: 38
Joined: Sun Mar 27, 2011 2:53 pm

Re: ขอคำแนะนำ วิธีการ ส่ง/ดึง ข้อมูลที่ซ้ำกัน มากกว่า 1 รายก

#12

Post by voravit »

เรียน : อาจารย์ ที่นับถือ
ผมขอขอบคุณ อาจารย์เป็นอย่างสูง ที่ให้คำแนะนำอย่างต่อเนื่อง รวดเร็ว และ อดทนต่อข้อซักถามของคนที่มีพื้นฐาน Excel ไม่มากอย่างผม ตอนนี้ผมได้แผ่นงานสมบูรณ์ ตามความต้องการใช้งานแล้วครับ ด้วยการตอบแนะนำอย่างต่อเนื่อง เป็นขั้นตอน ผมได้ คิด เรียนรู้สูตร เพื่อปรับใช้กับ เซล ที่ต้องการเหมือนกัน ผมส่งการบ้านมาให้ อาจารย์ตรวจการลงสูตร ครับ
ขอแสดงความนับถือ และ ขอบคุณ อย่างสูง
:thup: :cp:
You do not have the required permissions to view the files attached to this post.
Post Reply