: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

ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#21

Post by Bo_ry »

ลองที่เครื่องไม่มีขึ้นเตือนนะคะ Excel2016
ปรับสูตรนิดหน่อย ถ้าไม่ดีขึ้นต้องใช้วิธีอาจารย์แล้วค่ะ
Book4_new.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#22

Post by Bo_ry »

เนื่องจากเป็นตัวเลขเลยใช้สูตรsmallเรียง ถ้ายังไม่ได้อีกก็คิดไม่ออกแล้วค่ะ
Combine2column.xlsx
2018-09-09 22_42_16-Book1 - Excel.png
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#23

Post by March201711 »

:D ทำไมคุณ Bo_ryถึงใช้สูตรsmallล่ะค่ะ แล้วมันต่างกับสูตร Match(0,Countif...) อย่างไร
เวลาคิดสูตรว่าต้องปรับใช้มีหลักการคิดอย่างไรคะ :roll:
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#24

Post by Bo_ry »

ปกติเรียงตัวเลขใช้ small
Match(0,Countif...) เอาไว้เรียง text
เรียงตัวเลขและ text สูตรก็จะยากมาก

อันนี้เป็นตัวเลขใช้small เรียงได้ตั้งแต่แรกแล้วแต่พึงนึกออก :D มัวแต่ไปคิดเรื่องเอา2คอลัมน์มารวมกัน
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#25

Post by March201711 »

:D คุณ Bo_ry เก่งจังค่ะ แต่มีเรื่องรบกวนอีกนิดค่ะ
ลักษณะงานคล้ายๆกัน คือจะต้องดึงข้อมูลลูกค้าในแต่ละวัน ที่ column B จะเพิ่มขึ้นทุกวัน อยากให้รวมชื่อลูกค้าเป็นชื่อเดียวสรุปยอดน่ะค่ะ ตาม file ที่แนบค่ะ ขอบคุณนะคะ :D
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#26

Post by Bo_ry »

สูตรsmall ต้องไม่มีค่าซ้ำค่ะ ถ้าซ้ำใช้อันนี้
O6 =IFERROR(AGGREGATE(15,6,$B$6:$B$245/(O5<$B$6:$B$245),1),"")

P6 =MIN($B$6:$B$245)
P7 ลากลง
=IFERROR(AGGREGATE(15,6,$B$6:$B$245/(P6<$B$6:$B$245),1),"")

แก้สูตรให้ทั้ง2sheets ลองดูนะคะ
Combine2column.xlsx
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#27

Post by March201711 »

ช่วยอธิบายความหมายของสูตรได้ไหมคะ
แล้วทำไม P6 ต้องเป็น Min สูตรไม่เหมือน P7 คะ
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#28

Post by March201711 »

คุณBo_ry ลองทำดูแล้ว ถ้า column B ไม่ใช่ตัวเลขเป็นเลขที่มี -1ด้วย มันเป็นค่าวางเลยค่ะ :flw:
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#29

Post by Bo_ry »

สูตรใช้ได้เฉพาะตัวเลขค่ะ ถ้ามีตัวอักษรต้องแก้อีกเยอะ
สูตร iferror(agg...) จะหาค่าน้อยที่สุดที่มากกว่า cell ข้างบน บนP6 คือ p5 เป็นตัวอักษร จะมีค่ามากว่าตัวเลขทุกตัว จึงเลี่ยงไปใช้ min เพื่อหาค่าน้อยสุดแทน

O6 ค่าด้านบนว่างไว้มีค่าเป็น 0 เลยใช้ได้
คือหาค่าน้อยสุดที่มากกว่า 0
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#30

Post by March201711 »

ความจริง Id ลูกค้าเป็น-1น่ะค่ะ ลืมไป คิดว่าเป็นตัวเลขน่าจะใช้ได้แต่ลองทำปรากฎว่าใช้ไม่ได้ค่ะ ต้องปรับสูตรอย่างไรดีคะ
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#31

Post by Bo_ry »

ออกมาข้างนอกแล้วค่ะ ค่ำๆดูให้นะคะ
User avatar
DhitiBank
Gold
Gold
Posts: 1676
Joined: Mon Oct 15, 2012 12:07 am

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#32

Post by DhitiBank »

ลองแบบนี้ครับ

Sheet 1 (2) เซลล์ Q6 คีย์

=IFERROR(INDEX($C$6:$C$245,MATCH(SMALL(IF(FREQUENCY(MATCH($C$6:$C$245,$C$6:$C$245,0),ROW($C$6:$C$245)-ROW($C$6)+1),COUNTIF($C$6:$C$245,"<"&$C$6:$C$245)),ROWS(O$6:O6)),COUNTIF($C$6:$C$245,"<"&$C$6:$C$245),0)),"")

กด Ctrl+Shift ค้างแล้ว Enter > คัดลอกลงล่างครับ

ปล. บางครั้งถ้าการเรียงยังไม่ถูกต้อง ลองใช้ CODE ร่วมกับ COUNTIF ครับ
=IFERROR(INDEX($C$6:$C$245,MATCH(SMALL(IF(FREQUENCY(MATCH($C$6:$C$245,$C$6:$C$245,0),ROW($C$6:$C$245)-ROW($C$6)+1),CODE($C$6:$C$245)+COUNTIF($C$6:$C$245,"<"&$C$6:$C$245)),ROWS(O$6:O6)),CODE($C$6:$C$245)+COUNTIF($C$6:$C$245,"<"&$C$6:$C$245),0)),"")
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#33

Post by March201711 »

cell สุดท้ายที่เป็น C245 ถ้ามีลูกค้าเพิ่มต้องมานั่งปรับสูตรทุกวันเลยค่ะ
IFERROR(INDEX($C$6:$C$245,MATCH(SMALL(IF(FREQUENCY(MATCH($C$6:$C$245,$C$6:$C$245,0),ROW($C$6:$C$245)-ROW($C$6)+1),CODE($C$6:$C$245)+COUNTIF($C$6:$C$245,"<"&$C$6:$C$245)),ROWS(O$6:O6)),CODE($C$6:$C$245)+COUNTIF($C$6:$C$245,"<"&$C$6:$C$245),0)),"")
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#34

Post by Bo_ry »

ทำไว้ 2 แบบ Match(small…) กับ Match(0…) แยกsheetกัน ลองดูว่าแบบไหนเร็วกว่า
Test3.xlsx
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#35

Post by March201711 »

ค่ะ แต่สงสัยว่าทำไม ID#101456-1 เป็นอันดับแรกค่ะ ที่ถูกต้องเป็น ID#11673-1 ค่ะ :flw:
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#36

Post by Bo_ry »

การเรียง text จะดูจากอักษรตัวแรกก่อน แล้วถึงเรียงอักษรตัวที่2 ไม่ได้ดูจำนวนหลัก 10000-1 จะมาก่อน 1-1

ถ้าเรียงแบบตัวเลขใช้
P6 =IFERROR(AGGREGATE(15,6,--SUBSTITUTE($C$6:$C$999,"-",".")/(P5<--SUBSTITUTE($C$6:$C$999,"-",".")),1),"")

Q6 =SUBSTITUTE(P6,".","-")
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#37

Post by March201711 »

:D ขอบคุณค่ะคุณ Bo_ry พอได้ค่ะแต่ข้อมูลจะช้าๆหน่วงๆ แค่แทรก column ก็จะประมวลผลช้าคะ
User avatar
Bo_ry
Gold
Gold
Posts: 1244
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#38

Post by Bo_ry »

ลองเอาสูตรอื่น sheet อื่นที่ไม่ใช้ออกค่ะ ถ้าช่วงใช้ไม่ถึง 999 ก็ลดลงได้ค่ะ
March201711
Gold
Gold
Posts: 1030
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแต่ละตารางมารวมที่ตารางเดียว

#39

Post by March201711 »

ค่ะ ขอบคุณคุณ Bo_ryที่แนะนำค่ะ
Post Reply