: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#1

Post by Wreuangsri »

ตามตัวอย่างไฟล์แนบครับ
เวิร์กบุ๊ก1.xlsx
You do not have the required permissions to view the files attached to this post.
Supachok
Gold
Gold
Posts: 1014
Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#2

Post by Supachok »

X14

=SMALL(IF($B$3:$K$12<>"",$B$3:$K$12),ROW(A1)+(COLUMN(A1)-1)*10)
Array formula {}

Copy down + right
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#4

Post by Wreuangsri »

65576754_492737681270452_6513833691301543936_n.jpg
ให้จัดเรียงข้อมูลแบบนีได้หรือไม่ครับ
You do not have the required permissions to view the files attached to this post.
Supachok
Gold
Gold
Posts: 1014
Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#5

Post by Supachok »

เงื่อนไขคืออะไรบ้างครับ
เช่น max เพียง 4 rows เท่านั้น หรือเรียงลำดับอย่างไร
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#6

Post by Wreuangsri »

รูปแบบที่1 ผมร่นข้อมูลขึ้นไปชิดด้านบน
รูปแบบที่ 2 ผมร่นข้อมูลไปชิดด้านซ้าย

ความต้องการคืออยากได้แบบผสมกันคือร่นขึ้นไปชิดบนและชิดไปด้านซ้าย แม้นข้อมูลจะมีเต็ม B4:K13 ครับ
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#7

Post by Bo_ry »

B14:K23
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($B$3:$K$12)*10^5+ROW($B$3:$K$12)*100+COLUMN($B$3:$K$12)/($B$3:$K$12<>""),AGGREGATE(15,6,INDEX(ROW($B$3:$B$12)-ROW($B$2)+SUBTOTAL(2,OFFSET($A$3:$A$12,,,,AGGREGATE(15,6,COLUMN($B$3:$K$12)-COLUMN($A$3)/(MMULT(COLUMN($B$3:$K$12)^0,N($B$3:$K$12<>""))>0),COLUMN($B$3:$K$12)-COLUMN($A$3))))
/(ROW($B$3:$B$12)-ROW($B$2)<=MOD(AGGREGATE(15,6,COLUMN($B$3:$K$3)*100+1/(1/MMULT(COLUMN($B$3:$K$12)^0,N($B$3:$K$12<>""))),COLUMN($B$3:$K$3)-COLUMN($B$3)+1),100)),ROWS(B$14:B14),),COLUMNS($B14:B14))),10^5),"R0C00"),),"")
You do not have the required permissions to view the files attached to this post.
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#8

Post by Wreuangsri »

ขอบคุณมากๆครับ
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#9

Post by Wreuangsri »

Arrange 2Top 2Left.xlsx
อาจารย์ครับ ถ้าเป็นข้อมูลแบบนี้ ทำไมมันไม่ได้ครับ
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: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#10

Post by Bo_ry »

สูตรใช้ได้เฉพาะกับตัวเลข สูตรใน E6:B16
=IF(OR(E3="",$E$4=""),"",E$3&$E$4) คือข้อความที่ดูเหมือนตัวเลข
ใช้
=IF(E$3="","",IFERROR(E$3*10+INDEX($E$4:$K$4,ROWS(E$6:E6)),"")) แทน

หรือถ้าต้องการใช้กับข้อความ
E17
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($E$6:$N$15)*10^5+ROW($E$6:$N$15)*100+COLUMN($E$6:$N$15)/($E$6:$N$15<>""),AGGREGATE(15,6,INDEX(ROW($E$6:$E$15)-ROW($E$5)+COUNTIF(OFFSET($D$6:$D$15,,,,AGGREGATE(15,6,COLUMN($E$6:$N$15)-COLUMN($D$6)/(MMULT(COLUMN($E$6:$N$15)^0,N($E$6:$N$15<>""))>0),COLUMN($E$6:$N$15)-COLUMN($D$6))),"?*")
/(ROW($E$6:$E$15)-ROW($E$5)<=MOD(AGGREGATE(15,6,COLUMN($E$6:$N$6)*100+1/(1/MMULT(COLUMN($E$6:$N$15)^0,N($E$6:$N$15<>""))),COLUMN($E$6:$N$6)-COLUMN($E$6)+1),100)),ROWS(E$17:E17),),COLUMNS($E17:E17))),10^5),"R0C00"),),"")
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#12

Post by Wreuangsri »

ทดลองArrange 2Top 2Left.xlsx
อาจารย์ครับ ผมทดลองตัดเคลื่อนย้ายข้อมูลไปตำแหน่งอื่น ทำไมมันหายไปครับ
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: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#13

Post by Bo_ry »

ไม่ใช่อาจารย์นะ
ZF17
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($ZF$6:$ZO$15)*10^6+ROW($ZF$6:$ZO$15)*1000+COLUMN($ZF$6:$ZO$15)/($ZF$6:$ZO$15<>""),AGGREGATE(15,6,INDEX(ROW($ZF$6:$ZF$15)-ROW($ZF$5)+COUNTIF(OFFSET($ZE$6:$ZE$15,,,,AGGREGATE(15,6,COLUMN($ZF$6:$ZO$15)-COLUMN($ZE$6)/(MMULT(COLUMN($ZF$6:$ZO$15)^0,N($ZF$6:$ZO$15<>""))>0),COLUMN($ZF$6:$ZO$15)-COLUMN($ZE$6))),"?*")/(ROW($ZF$6:$ZF$15)-ROW($ZF$5)<=MOD(AGGREGATE(15,6,COLUMN($ZF$6:$ZO$6)*1000+1/(1/MMULT(COLUMN($ZF$6:$ZO$15)^0,N($ZF$6:$ZO$15<>""))),COLUMN($ZF$6:$ZO$6)-COLUMN($ZF$6)+1),1000)),ROWS(ZF$17:ZF17),),COLUMNS($ZF17:ZF17))),10^6),"R0C000"),),"")

ZR17
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($ZR$6:$AAA$15)*10^6+ROW($ZR$6:$AAA$15)*1000+COLUMN($ZR$6:$AAA$15)/($ZR$6:$AAA$15<>""),AGGREGATE(15,6,INDEX(ROW($ZR$6:$ZR$15)-ROW($ZR$5)+SUBTOTAL(2,OFFSET($ZQ$6:$ZQ$15,,,,AGGREGATE(15,6,COLUMN($ZR$6:$AAA$15)-COLUMN($ZQ$6)/(MMULT(COLUMN($ZR$6:$AAA$15)^0,N($ZR$6:$AAA$15<>""))>0),COLUMN($ZR$6:$AAA$15)-COLUMN($ZQ$6))))/(ROW($ZR$6:$ZR$15)-ROW($ZR$5)<=MOD(AGGREGATE(15,6,COLUMN($ZR$6:$AAA$6)*1000+1/(1/MMULT(COLUMN($ZR$6:$AAA$15)^0,N($ZR$6:$AAA$15<>""))),COLUMN($ZR$6:$AAA$6)-COLUMN($ZR$6)+1),100)),ROWS(ZR$17:ZR17),),COLUMNS($ZR17:ZR17))),10^6),"R0C000"),),"")
You do not have the required permissions to view the files attached to this post.
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#15

Post by Wreuangsri »

Arrange Left&amp;Top.xlsx
ถ้าแบบนี้ ทำอย่างไรครับ
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 »

M14
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($B$3:$K$12)*10^5+ROW($B$3:$K$12)*100+COLUMN($B$3:$K$12)/($B$3:$K$12<>""),AGGREGATE(15,6,INDEX(ROW($B$3:$B$12)-ROW($B$2)+SUBTOTAL(2,OFFSET($A$3:$A$12,,,,AGGREGATE(15,6,COLUMN($B$3:$K$12)-COLUMN($A$3)/(MMULT(COLUMN($B$3:$K$12)^0,N($B$3:$K$12<>""))>0),COLUMN($B$3:$K$12)-COLUMN($A$3))))/(ROW($B$3:$B$12)-ROW($B$2)<=MOD(AGGREGATE(15,6,COLUMN($B$3:$K$3)*100+1/(1/MMULT(COLUMN($B$3:$K$12)^0,N($B$3:$K$12<>""))),COLUMN($B$3:$K$3)-COLUMN($B$3)+1),100)),,COLUMNS($M14:M14)),ROWS(M$14:M14))),10^5),"R0C00"),),"")
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#17

Post by Wreuangsri »

ขอบคุณมากๆครับ
Wreuangsri
Member
Member
Posts: 82
Joined: Mon Jul 21, 2014 9:20 pm
Excel Ver: 2024

Re: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#18

Post by Wreuangsri »

ถ้าเราแทรกคอลัมน์ไปมากๆแล้วมันใช้ไม่ได้ เป็นเพราะสาเหตุใดครับ
ลองใหม่Arrange Left&amp;Top.xlsx
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: ต้องการจัดเรียงข้อมูลให้ชิดซ้ายจากบนลงล่าง ครับ

#19

Post by Bo_ry »

BTT17
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($BTT$17:$BUC$26)*10^8+ROW($BTT$17:$BUC$26)*10^4+COLUMN($BTT$17:$BUC$26)/($BTT$17:$BUC$26<>""),AGGREGATE(15,6,INDEX(ROW($BTT$17:$BTT$26)-ROW($BTT$16)+COUNTIF(OFFSET($BTS$17:$BTS$26,,,,AGGREGATE(15,6,COLUMN($BTT$17:$BUC$26)-COLUMN($BTS$17)/(MMULT(COLUMN($BTT$17:$BUC$26)^0,N($BTT$17:$BUC$26<>""))>0),COLUMN($BTT$17:$BUC$26)-COLUMN($BTS$17))),"?*")/(ROW($BTT$17:$BTT$26)-ROW($BTT$16)<=MOD(AGGREGATE(15,6,COLUMN($BTT$17:$BUC$17)*10^4+1/(1/MMULT(COLUMN($BTT$17:$BUC$26)^0,N($BTT$17:$BUC$26<>""))),COLUMN($BTT$17:$BUC$17)-COLUMN($BTT$17)+1),10^4)),,COLUMNS($BTT28:BTT28)),ROWS(BTT$28:BTT28))),10^8),"R0C0000"),),"")

BVB17
=IFERROR(INDIRECT(TEXT(MOD(AGGREGATE(15,6,COLUMN($BVB$17:$BVK$26)*10^8+ROW($BVB$17:$BVK$26)*10^4+COLUMN($BVB$17:$BVK$26)/($BVB$17:$BVK$26<>""),AGGREGATE(15,6,INDEX(ROW($BVB$17:$BVB$26)-ROW($BVB$16)+SUBTOTAL(2,OFFSET($BVA$17:$BVA$26,,,,AGGREGATE(15,6,COLUMN($BVB$17:$BVK$26)-COLUMN($BVA$17)/(MMULT(COLUMN($BVB$17:$BVK$26)^0,N($BVB$17:$BVK$26<>""))>0),COLUMN($BVB$17:$BVK$26)-COLUMN($BVA$17))))/(ROW($BVB$17:$BVB$26)-ROW($BVB$16)<=MOD(AGGREGATE(15,6,COLUMN($BVB$17:$BVK$17)*10^4+1/(1/MMULT(COLUMN($BVB$17:$BVK$26)^0,N($BVB$17:$BVK$26<>""))),COLUMN($BVB$17:$BVK$17)-COLUMN($BVB$17)+1),10^4)),,COLUMNS($BVB28:BVB28)),ROWS(BVB$28:BVB28))),10^8),"R0C0000"),),"")


COLUMN($BTT$17:$BUC$26)*10^8+ROW($BTT$17:$BUC$26)*10^4+COLUMN($BTT$17:$BUC$26)/($BTT$17:$BUC$26<>"")

row(BTT17)=10^4+Colum(BTT17) =17*10^4+1892 =17,1892 Row กับ Colmn แยกกันได้ ด้วยหลักหมื่น
row(BTT17)=10^3+Colum(BTT17) =17*10^3+1892 =18992 Row กับ colmnm ผสมกันที่หลักพัน
Post Reply