: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

ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#1

Post by March201711 »

ใช้สูตรเรียงข้อมูล เรียงค่าน้อยไปหาค่ามาก โดยเอาเลขหน้าเรียงกันถ้าเหมือนกันให้ดูเลขถัดไปเรื่อยๆ จนถึง 4ตัวสุดท้าย ถ้าเหมือนกันให้เรียงตามลำดับ
เช่น เลขหน้าเหมือนกัน 384-AAA-62/xxxx และเลข 4ตัวสุดท้ายคือ 0477,0478 0479 ให้เรียงตามลำดับ

ใช้สูตรแต่กลับได้ค่าซ้ำกันเป็น 0477 ต้องปรับสูตรอย่างไรคะ
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#2

Post by Bo_ry »

C4
=INDEX(B:B,MOD(AGGREGATE(15,6,COUNTIF($B$4:$B$28,"<"&$B$4:$B$28)*1000+ROW($B$4:$B$28),ROWS(C$4:C4)),1000))

แต่ทำไมไม่กด Sort
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#3

Post by March201711 »

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

ช่วยอธิบายสูตรหน่อยได้ไหมคะ
ทำไมต้อง *1000
=INDEX(B:B,MOD(AGGREGATE(15,6,COUNTIF($B$4:$B$28,"<"&$B$4:$B$28)*1000+ROW($B$4:$B$28),ROWS(C$4:C4)),1000))
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#4

Post by Bo_ry »

COUNTIF($B$4:$B$28,"<"&$B$4:$B$28) สำหรับเรียงค่า *1000 เพื่อให้ + Rowได้ โดยไม่กระทบกับการเรียง
โดยที่ Row ต้องไม่เกิน 1000

เมื่อเรียงเสร็จแล้วก็ Mod( ,1000) เพื่อดึงค่า Row ออกมา เป็น Row number สำหรับ Index
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#5

Post by March201711 »

ทำไมปรับสูตรแล้วขึ้น 0 และ #REF คะ
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#6

Post by Bo_ry »

=INDEX($L:$L,MOD(AGGREGATE(15,6,1/(1/COUNTIF($L$224:$L$500,"<="&$L$224:$L$500))*1000+ROW($L$224:$L$500),ROWS(M$224:M224)),1000))
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#7

Post by March201711 »

ถามอีกนิดค่ะ ทำไมใช้สูตรแล้วข้อมูลดึงได้ค่าซ้ำหลายรายการคะ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#8

Post by puriwutpokin »

ที่h7=INDEX($B$7:$B$51,AGGREGATE(15,6,(ROW(B$7:B$51)-ROW(B$7)+1)/($D$7:$D$51=J7),COUNTIF(J$7:$J7,J7))
:shock: :roll: :D
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#9

Post by Bo_ry »

H7
=INDEX(B:B,MOD(AGGREGATE(15,,-$D$7:$D$36*10^6+ROW($D$7:$D$36),ROWS(H$7:H7)),10^3))
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#10

Post by March201711 »

ได้คำตอบที่ต้องการ ทั้งสองท่านค่ะ แต่อยากทราบว่ามีวิธีการคิดอย่างไรถึงได้เขียนสูตรได้คำตอบตามนี้คะ ขอบคุณทั้ง 2 ท่านมากค่ะ :D
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#11

Post by March201711 »

รบกวนอีกนิดนึงค่ะ ที่ถูกต้องแบบนี้ค่ะ
เอายอดของลูกค้าที่รวมกันค่ามากที่สุดเป็นอันดับ 1 เรียงกันมา

เช่น นางส่าว พรจันทร์มี 3 จำนวนให้เอายอดมารวมกันแล้วแสดงชื่อเป็นรายการเดียว

ถ้ายอดเท่ากันให้เรียงลำดับตามชื่อ ก-ฮ
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: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#12

Post by snasui »

:D ตัวอย่างสูตรตามด้านล่างครับ
  1. แทรกคอลัมน์ช่วย 2 คอลัมน์คือ G:H เมื่อแทรกแล้วตัวอย่างคำตอบที่เขียนไว้เดิมจะไปเริ่มที่คอลัมน์ I
  2. ที่ F7 คีย์
    =IF(COUNTIF(C$7:C7,C7)=COUNTIF(C$7:C$37,C7),SUMPRODUCT(--(G7<G$7:G$37))+SUMPRODUCT(--(C7<C$7:C$37))/100-COUNTIF(G$7:G$37,""),"")
    Enter > Copy ลงด้านล่าง
  3. ที่ G7 คีย์
    =IF(COUNTIF(C$7:C7,C7)=COUNTIF(C$7:C$37,C7),SUMIF(C$7:C$37,C7,D$7:D$37),"")
    Enter > Copy ลงด้านล่าง
  4. ที่ J7 คีย์
    =INDEX(C$7:C$37,MATCH(SMALL($F$7:$F$37,I7),$F$7:$F$37,0))
    Enter > Copy ลงด้านล่าง
  5. ที่ K7 คีย์
    =SUMIF($C$7:$C$37,$J7,D$7:D$37)
    Enter > Copy ไป L7 > Copy ลงด้านล่าง
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#13

Post by Bo_ry »

H7
=INDEX(C:C,MOD(AGGREGATE(14,6,ROUND(SUMIFS($D$7:$D$51,$C$7:$C$51,$C$7:$C$51)*10^6,-6)-COUNTIF($C$7:$C$51,"<"&$C$7:$C$51)*10^3+ROW($C$7:$C$51)/ISERROR(MATCH($C$7:$C$51,H$6:H6,)),1),1000))

I7
=SUMIFS($D$7:$D$51,$C$7:$C$51,H7)

J7
=SUMIFS($E$7:$E$51,$C$7:$C$51,H7)

ทำไมไม่ใช้ Pivot คลิกไม่กี่ทีก็เสร็จแล้ว
You do not have the required permissions to view the files attached to this post.
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#14

Post by March201711 »

:D ได้แล้วค่ะ ขอบคุณอาจารย์และคุณ Bory ค่ะ

ตอบคำถามคุณ Bory ค่ะ
บางครั้งดึงข้อมูลที่เป็น Pivot Table แล้วข้อมูลหายไปเมื่อมีการเปลี่ยนข้อมูล หัวเรื่อง ขยายcolumn บ้าง หรือเพิ่มตาราง จึงจำเป็นต้องใช้สูตรแทนค่ะ
March201711
Gold
Gold
Posts: 1047
Joined: Sat Mar 11, 2017 7:01 pm
Excel Ver: 2010, 365

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#15

Post by March201711 »

มีปัญหานิดนึงน่ะค่ะ

ถ้าเลือกวันที่ที่ cell D3 แล้วให้ดึงข้อมูลตามหัวข้อที่ column B โดยดึงข้อมูลที่ sheet Details แล้วขึ้น VALUE และไม่ได้คำตอบตามที่ต้องการค่ะ
ลองปรับแล้วไม่ค่อยได้ค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#16

Post by Bo_ry »

March201711 wrote: Fri Jan 10, 2020 6:54 am ตอบคำถามคุณ Bory ค่ะ
บางครั้งดึงข้อมูลที่เป็น Pivot Table แล้วข้อมูลหายไปเมื่อมีการเปลี่ยนข้อมูล หัวเรื่อง ขยายcolumn บ้าง หรือเพิ่มตาราง จึงจำเป็นต้องใช้สูตรแทนค่ะ
ทั้ง Pivot หรือ สูตร ถ้าข้อมูลหาย pivot และสูตร ก็หายเหมือนกัน ต้องเขียนสูตรขนาดนี้ คลิก Pivot ไม่กี่ทีก็ได้แล้ว
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ดึงข้อมูลแล้ว ข้อมูลไม่เรียงตามสูตรที่กำหนด

#17

Post by Bo_ry »

March201711 wrote: Fri Jan 10, 2020 11:32 am มีปัญหานิดนึงน่ะค่ะ

ถ้าเลือกวันที่ที่ cell D3 แล้วให้ดึงข้อมูลตามหัวข้อที่ column B โดยดึงข้อมูลที่ sheet Details แล้วขึ้น VALUE และไม่ได้คำตอบตามที่ต้องการค่ะ
ลองปรับแล้วไม่ค่อยได้ค่ะ
D10
=SUMIFS(INDEX(Details!$D$5:$J$999,MATCH($D$3,Details!$A$5:$A$999,),),Details!$D$3:$J$3,"<>Total")/1000

E10
=SUMIFS(INDEX(Details!$D$5:$J$999,MATCH("MTD-"&TEXT($D$3,"[$-en]mmm"),Details!$A$5:$A$999,),),Details!$D$3:$J$3,"<>Total")/1000

F10
=SUMIFS(INDEX(Details!$D$5:$J$999,MATCH($K$8,Details!$A$5:$A$999,),),Details!$D$3:$J$3,"<>Total")/1000
You do not have the required permissions to view the files attached to this post.
Post Reply