: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
KEROBER
Member
Member
Posts: 17
Joined: Sun Mar 17, 2024 2:52 pm
Excel Ver: 365

แทรกแถว แทนที่ข้อความแถวสุดท้าย

#1

Post by KEROBER »

สวัสดีครับ

1. ต้องการแทรกแถว ใต้ตัวเลขสุดท้ายของกลุ่ม
( ใต้แถวที่ทำ Hilight สีแดง ( คอลัมภ์ O )

2. คัดลอกข้อมูลแถวที่เหมือนกัน แถวสุดท้ายของกลุ่มตัวเลข
แทนที่ช่องว่าง ที่แทรกแถวไว้ ( ตามตัวอย่างที่ Hilight สีแดงครับ )

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1535
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#2

Post by norkaz »

...

P10=SORT(XMATCH(VSTACK(A10:A227,UNIQUE(A10:A227)),A10:A227))

Q10
=COUNTIF(P10:$P$245,P10)
Copy ลงไป


R10
=INDEX(A$10:A$227,$P10)
Copy ลงไป

T10
=INDEX(C$10:C$227,$P10)
Copy ลงไป

U10
=IF($Q10=1,"",INDEX(D$10:D$227,$P10))
Copy ลงไป

AA10
=IF($Q10=1,"",INDEX(J$10:J$227,$P10))
Copy ลงไป

AB10
=IF($Q10=1,"",INDEX(K$10:K$227,$P10))
Copy ลงไป

AC10
=INDEX(L$10:L$227,$P10)
Copy ลงไป

AD10
=INDEX(M$10:M$227,$P10)
Copy ลงไป


** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
KEROBER
Member
Member
Posts: 17
Joined: Sun Mar 17, 2024 2:52 pm
Excel Ver: 365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#3

Post by KEROBER »

สวัสดีครับ

Column K ที่เป็นข้อมูลต้นทาง ผลลัพธ์ที่ได้ ในช่อง AB จะเป็นข้อมูลตามต้นทางครับ ( จะไม่เหมือนกันทุกแถวครับ )

ผมรบกวนขอเพิ่มข้อมูลครับ
1. ใน Column U แถวที่เป็นช่องว่าง ต้องการให้ใส่ข้อมูล ตัวเลข 1111-00 ทุกแถวที่เป็นช่องว่างครับ
2. ใน Column AB แถวที่เป็นช่องว่าง ต้องการใส่ค่า SUM ( ผลรวม ) ของแต่กลุ่ม ( ชุดตัวเลขที่อยู่เหนือช่่องว่าง ของแต่ละกลุ่ม )
3. ใน Column AA แถวที่เป็นช่องว่าง ต้องการใส่ค่า เป็นตัวเลข 1 ครับ

( ตามตัวอย่างในไฟล์แนบครับ )

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1535
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#4

Post by norkaz »

..

ในการตอบปัญหาผ่านทางฟอรั่ม ตัวอย่างทำมาแบบใด ผลลัพธ์ย่อมเป็นไปแบบนั้นครับ


1. คอลัมน์ที่เว้นว่างไว้ จำเป็นต้องเป็นแบบนั้น หรือไม่

2. หากไม่ใช่ให้ลบคอลัมน์ว่างนั้นออกไป

3. สูตรเดิมที่เขียนไป หากไม่ตรงกับความต้องการ ให้ลบทุกอย่างออกไปแล้ว โพสต์สอบถาม ด้วยตัวอย่าง ที่ใช่ ตามที่ต้องการครับ

4. เนื่องจาก โจทย์เป็นการ แทรกแถว โดยสูตรไม่ใช่การ manual หาก เป็นไปได้ลอง ทำตัวอย่างไว้ 1 ชีท และผลลัพธ์ ที่ต้องการไว้อีก 1 ชีท ครับ

5. จากนั้นโพสต์สอบถามโดย แนบไฟล์ มาอีกครั้งครับ

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
User avatar
norkaz
Gold
Gold
Posts: 1535
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#5

Post by norkaz »

...

เนื่องจาก ไม่มีตัวอย่าง คำตอบ ที่ทดสอบสูตรได้ทั้งหมด

ลองปรับไป ตามด้านล่างนี้ครับ ถ้าไม่ใช่ ให้โพสต์สอบถามเข้ามาอีกครั้งครับ


P10 =SORT(XMATCH(VSTACK(A10:A227,UNIQUE(A10:A227)),A10:A227))

Q10 =COUNTIF(P10:$P$245,P10)
Copy ลงไป

R10 =INDEX(A$10:A$227,$P10)
Copy ลงไป

T10 =INDEX(C$10:C$227,$P10)
Copy ลงไป

U10 =IF($Q10=1,"1111-00",INDEX(D$10:D$227,$P10))
Copy ลงไป

AA10 =IF($Q10=1,1,INDEX(J$10:J$227,$P10))
Copy ลงไป

AB10 =IF(AA10=1,SUMIF($A$10:$A$227,R10,$K$10:$K$227),INDEX(K:K,AGGREGATE(15,6,ROW($A$10:$A$227)/(R10=$A$10:$A$227),COUNTIF(R$10:R10,R10))))
Copy ลงไป

AC10 =INDEX(L$10:L$227,$P10)
Copy ลงไป


** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
KEROBER
Member
Member
Posts: 17
Joined: Sun Mar 17, 2024 2:52 pm
Excel Ver: 365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#6

Post by KEROBER »

สวัสดีครับ

ขอโทษด้วยครับ ที่ให้ข้อมูลไม่ครบถ้วนครับ
สูตรที่ได้มาล่าสุด ตรงความต้องการครับ ยกเว้น

Column D และ Column U ข้อมูลสามารถเรียงตาม Column D ได้ไหมครับ ( ผมได้แนบชีทผลลัพธ์ ที่ต้องการมาให้ด้วยครับ )


ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
norkaz
Gold
Gold
Posts: 1535
Joined: Wed Jan 12, 2011 7:59 pm
Excel Ver: 2013,365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#7

Post by norkaz »

...

U10
=IF($Q10=1,"1111-00",INDEX(D:D,AGGREGATE(15,6,ROW($A$10:$A$227)/(R10=$A$10:$A$227),COUNTIF(R$10:R10,R10))))

Copy ลงไป

** สนับสนุนฟอรั่ม กรุณา คลิกโฆษณาที่หน้าเพจ***

แมวใหญ่ Bigcat9
RCA พระราม9 กรุงเทพฯ

...
You do not have the required permissions to view the files attached to this post.
KEROBER
Member
Member
Posts: 17
Joined: Sun Mar 17, 2024 2:52 pm
Excel Ver: 365

Re: แทรกแถว แทนที่ข้อความแถวสุดท้าย

#8

Post by KEROBER »

สวัสดีครับ

สูตรที่ได้ ตรงความต้องการครับ

ทำให้การทำงานจากเดิมที่ช้าอยู่แล้ว เร็วขึ้นมากเลยครับ

ขอบคุณครับ
Post Reply