: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#1

Post by janesit »

มีข้อมูล 1 ชุด ต้องการแทรกแถวเพิ่มอีก X-1 บรรทัด จากจำนวนที่มี จำนวน ชิ้น ของยอดรวมทั้งหมด จำนวนเต็ม ชิ้น
EX
PO INVOICE สาขา จำนวน รายละเอียด จำนวนเต็ม
PO32688 VV0161030 CHAชะอำ 6 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54
PO32688 VV0161030 HAYหาดใหญ่ 12 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54
18


หลังการระบุลำดับ จำนวนบรรทัดที่ต้องมีทั้งหมด รวมเป็น 18 บรรทัด

วิธีที่คิดได้ตอนนี้ คือ SORT A-Z โดยยึดจำนวน เป็นหลัก แล้วเติมเลขจำนวน 1-12 เพื่อรันลำดับ.....มีวิธีที่ดีกว่านี้ไหมคะ

PO INVOICE สาขา จำนวน รายละเอียด จำนวนเต็ม ลำดับที่
PO32688 VV0161030 CHAชะอำ 6 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54 1
PO32688 VV0161030 HAYหาดใหญ่ 12 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54 1
PO32688 VV0161030 CHAชะอำ 6 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54 2
PO32688 VV0161030 HAYหาดใหญ่ 12 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54 2
PO32688 VV0161030 CHAชะอำ 6 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54 3
PO32688 VV0161030 HAYหาดใหญ่ 12 บานซิงค์PLATINUMโนวา-คู่ โอ๊คดำ 54 3

RUN ต่อ
4
5
6
7
8
9
10
11
12

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#2

Post by bank9597 »

:) แสดงตัวอย่างคำตอบที่ต้องการมาในไฟล์หน่อยครับ ยังไม่ค่อยเข้าใจ
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
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: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#3

Post by snasui »

:D ลองทำลูกศรโยงข้อมูลจากด้านบนมาด้านล่างให้ดูว่าเป็นการนำข้อมูลจากด้านบนมาวางอย่างไร ดูแล้วไม่สามารถจับความสัมพันธ์ได้ครับ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#4

Post by janesit »

สวัสดีค่ะ

แนบไฟล์อธิบายเพิ่มเติมมาแล้วนะคะ

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
logic
Gold
Gold
Posts: 1511
Joined: Thu Mar 18, 2010 1:57 pm
Excel Ver: 365

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#5

Post by logic »

เท่าที่ดูผลลัพธ์ สรุปได้ว่าการเพิ่มบรรทัดหลังที่เรียงตามจำนวนแล้วมี 4 รอบ
1. เริ่มจากบรรทัดแรก 1 ชุด (ุ6 รายการ)
2. เริ่มจากบรรทัดที่สอง 1 ชุด (5 รายการ)
3. เริ่มจากบรรทัดที่สาม 4 ชุด (16 รายการ)
4. เริ่มจากบรรทัดที่สี่ 6 ชุด (18 รายการ)

รวม 12 ชุด 45 รายการ

มีหลักคิดอย่างไรให้ออกมา 12 ชุด อ้อ...อีกอย่าง รายการทั้งหลายก่อนที่จะเพิ่มบรรทัดมันเพิ่มลดได้หรือว่าคงที่ครับ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#6

Post by janesit »

logic wrote:เท่าที่ดูผลลัพธ์ สรุปได้ว่าการเพิ่มบรรทัดหลังที่เรียงตามจำนวนแล้วมี 4 รอบ
1. เริ่มจากบรรทัดแรก 1 ชุด (ุ6 รายการ)
2. เริ่มจากบรรทัดที่สอง 1 ชุด (5 รายการ)
3. เริ่มจากบรรทัดที่สาม 4 ชุด (16 รายการ)
4. เริ่มจากบรรทัดที่สี่ 6 ชุด (18 รายการ)

รวม 12 ชุด 45 รายการ

มีหลักคิดอย่างไรให้ออกมา 12 ชุด อ้อ...อีกอย่าง รายการทั้งหลายก่อนที่จะเพิ่มบรรทัดมันเพิ่มลดได้หรือว่าคงที่ครับ

คิดว่ายังไม่เข้าใจโจทย์ที่อธิบายไปน่่ะค่ะ :flw:

ยากจังที่จะอธิบายแบบนี้ค่ะ คือ.... การเพิ่มจำนวนชุดข้อมูลในแต่ละชุดไม่คงที่แล้วแต่ทางผู้สั่งค่ะ

PO INVOICE สาขา จำนวน
PO32688 VV1030 CHAชะอำ 6 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
PO32688 VV1030 HAYหาดใหญ่ 12 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
PO36722 VW276 BBTบางบัวทอง 2 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
PO36722 VW276 RAYระยอง 1 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
21 ผลรวมของทั้งชุดที่ ลค.สั่ง

จเดี่ยวกลับมาอธิบายต่อนะคะ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#7

Post by janesit »

janesit wrote:
logic wrote:เท่าที่ดูผลลัพธ์ สรุปได้ว่าการเพิ่มบรรทัดหลังที่เรียงตามจำนวนแล้วมี 4 รอบ
1. เริ่มจากบรรทัดแรก 1 ชุด (ุ6 รายการ)
2. เริ่มจากบรรทัดที่สอง 1 ชุด (5 รายการ)
3. เริ่มจากบรรทัดที่สาม 4 ชุด (16 รายการ)
4. เริ่มจากบรรทัดที่สี่ 6 ชุด (18 รายการ)

รวม 12 ชุด 45 รายการ

มีหลักคิดอย่างไรให้ออกมา 12 ชุด อ้อ...อีกอย่าง รายการทั้งหลายก่อนที่จะเพิ่มบรรทัดมันเพิ่มลดได้หรือว่าคงที่ครับ

คิดว่ายังไม่เข้าใจโจทย์ที่อธิบายไปน่่ะค่ะ :flw:

ยากจังที่จะอธิบายแบบนี้ค่ะ คือ.... การเพิ่มจำนวนชุดข้อมูลในแต่ละชุดไม่คงที่แล้วแต่ทางผู้สั่งค่ะ

PO INVOICE สาขา จำนวน
PO32688 VV1030 CHAชะอำ 6 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
PO32688 VV1030 HAYหาดใหญ่ 12 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
PO36722 VW276 BBTบางบัวทอง 2 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
PO36722 VW276 RAYระยอง 1 (ชุดข้อมูลนี้แล้วแต่ลค.ระบุ)
21 ผลรวมของทั้งชุดที่ ลค.สั่ง

จเดี่ยวกลับมาอธิบายต่อนะคะ


สวัสดีค่ะ

เพิ่มขั้นตอนการทำงานแต่ละขั้นมาให้ดูนะคะ ไม่ทราบจะพอเข้าใจกันหรือเปล่า
มีทั้งหมด 6 ชีตลำดับขั้นตอนการทำงาน หวังว่าจะมีใครเข้าใจบ้างนะคะ


ขอบคุณค่ะ
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: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#8

Post by snasui »

:D ไม่พบไฟล์แนบครับ

ไฟล์แนบต้องมีขนาดไม่เกิน 300kb ครับ
User avatar
XDoll
Bronze
Bronze
Posts: 261
Joined: Sun Mar 03, 2013 9:23 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#9

Post by XDoll »

ไม่แน่ใจว่าผมเข้าใจถูกไหมนะครับ ลองดูตามนี้
ที่ ชีท"ต้นฉบับ"
N1 =SUM($M$2:$M$180)
N2 =IF(ROWS($N$2:N2)>MAX($G$2:$G$180),"",ROWS($N$2:N2)) คัดลอกลงล่างครับ
M2 =IF($N2="","",COUNTIF($G$2:$G$180,">="&N2)) คัดลอกลงล่างครับ
O2 =IFERROR(SUM($M$1:M2)-(M2-1),"") คัดลอกลงล่างครับ

ที่ ชีท"ผลลัพธ์ที่ต้องการ"
G2 =IF(ROWS($G$2:G2)>ต้นฉบับ!$N$1,"",LOOKUP(ROWS($G$2:G2),ต้นฉบับ!$O$2:$O$93,ต้นฉบับ!$N$2:$N$93)) คัดลอกลงล่างครับ
A2 =INDEX(ต้นฉบับ!D$2:D$180,SMALL(IF(ต้นฉบับ!$G$2:$G$180>=$G2,ROW($G$2:$G$180)-1),MOD(COUNTIF($G$2:$G2,">="&$G2),COUNTIF(ต้นฉบับ!$G$2:$G$180,">="&$G2)+1))) กด Clrt+Shift+Enter คัดลอกไปด้านขวา และ ลงล่างครับ
You do not have the required permissions to view the files attached to this post.
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#10

Post by janesit »

XDoll wrote:ไม่แน่ใจว่าผมเข้าใจถูกไหมนะครับ ลองดูตามนี้
ที่ ชีท"ต้นฉบับ"
N1 =SUM($M$2:$M$180)
N2 =IF(ROWS($N$2:N2)>MAX($G$2:$G$180),"",ROWS($N$2:N2)) คัดลอกลงล่างครับ
M2 =IF($N2="","",COUNTIF($G$2:$G$180,">="&N2)) คัดลอกลงล่างครับ
O2 =IFERROR(SUM($M$1:M2)-(M2-1),"") คัดลอกลงล่างครับ

ที่ ชีท"ผลลัพธ์ที่ต้องการ"
G2 =IF(ROWS($G$2:G2)>ต้นฉบับ!$N$1,"",LOOKUP(ROWS($G$2:G2),ต้นฉบับ!$O$2:$O$93,ต้นฉบับ!$N$2:$N$93)) คัดลอกลงล่างครับ
A2 =INDEX(ต้นฉบับ!D$2:D$180,SMALL(IF(ต้นฉบับ!$G$2:$G$180>=$G2,ROW($G$2:$G$180)-1),MOD(COUNTIF($G$2:$G2,">="&$G2),COUNTIF(ต้นฉบับ!$G$2:$G$180,">="&$G2)+1))) กด Clrt+Shift+Enter คัดลอกไปด้านขวา และ ลงล่างครับ

ขอบคุณนะคะ กำลังทดลองดูค่ะ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#11

Post by janesit »

snasui wrote::D ไม่พบไฟล์แนบครับ

ไฟล์แนบต้องมีขนาดไม่เกิน 300kb ครับ
ไฟลใหญ่เกินไปจริง ค่ะ ZIP FILE แล้วยังไม่ได้เลยค่ะ
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: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#12

Post by snasui »

:D ไม่จำเป็นต้องแนบไฟล์จริงครับ

ทำมาเป็นตัวอย่างขอสังเขป ระบุเงื่อนไขพร้อมยกตัวอย่างคำตอบที่ต้องการมาให้เห็นว่าแต่ละเงื่อนไขต้องได้ผลลัพธ์เป็นอย่างไร เท่านี้ก็เพียงพอแล้วครับ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#13

Post by janesit »

snasui wrote::D ไม่จำเป็นต้องแนบไฟล์จริงครับ

ทำมาเป็นตัวอย่างขอสังเขป ระบุเงื่อนไขพร้อมยกตัวอย่างคำตอบที่ต้องการมาให้เห็นว่าแต่ละเงื่อนไขต้องได้ผลลัพธ์เป็นอย่างไร เท่านี้ก็เพียงพอแล้วครับ

ตอนนี้มีคนแนะนำมาแล้วค่ะอาจารย์ กำลังลองดู น่าจะใช่อย่างที่ต้องการค่ะ

ขอบคุณค่ะ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#14

Post by janesit »

janesit wrote:
XDoll wrote:ไม่แน่ใจว่าผมเข้าใจถูกไหมนะครับ ลองดูตามนี้
ที่ ชีท"ต้นฉบับ"
N1 =SUM($M$2:$M$180)
N2 =IF(ROWS($N$2:N2)>MAX($G$2:$G$180),"",ROWS($N$2:N2)) คัดลอกลงล่างครับ
M2 =IF($N2="","",COUNTIF($G$2:$G$180,">="&N2)) คัดลอกลงล่างครับ
O2 =IFERROR(SUM($M$1:M2)-(M2-1),"") คัดลอกลงล่างครับ

ที่ ชีท"ผลลัพธ์ที่ต้องการ"
G2 =IF(ROWS($G$2:G2)>ต้นฉบับ!$N$1,"",LOOKUP(ROWS($G$2:G2),ต้นฉบับ!$O$2:$O$93,ต้นฉบับ!$N$2:$N$93)) คัดลอกลงล่างครับ
A2 =INDEX(ต้นฉบับ!D$2:D$180,SMALL(IF(ต้นฉบับ!$G$2:$G$180>=$G2,ROW($G$2:$G$180)-1),MOD(COUNTIF($G$2:$G2,">="&$G2),COUNTIF(ต้นฉบับ!$G$2:$G$180,">="&$G2)+1))) กด Clrt+Shift+Enter คัดลอกไปด้านขวา และ ลงล่างครับ

ขอบคุณนะคะ กำลังทดลองดูค่ะ
ได้แล้วนะคะ ขอบคุณค่ะ สมบูรณ์มาก ๆ :thup:
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#15

Post by janesit »

ที่ ชีท"ต้นฉบับ"
N1 =SUM($M$2:$M$180) แก้ไข เป็น SUM(M2:M)
N2 =IF(ROWS($N$2:N2)>MAX($G$2:$G$180),"",ROWS($N$2:N2)) แก้ไขเป็น IF(ROWS($N$2:N2)>MAX(G:G),"",ROWS($N$2:N2))
M2 =IF($N2="","",COUNTIF($G$2:$G$180,">="&N2)) แก้ไขเป็น IF($N2="","",COUNTIF(G:G,">="&N2))

ใช้งานได้ ค่ะ ลองแก้ใน ชีท"ผลลัพธ์ที่ต้องการ" ทั้ง G2 และ A2 ต้องแก้ไข ยังไงให้สูตรวิ่งตามกัน โดยไม่ต้อง เปลี่ยนตัวเลข จาก 180 เป็น อื่น ๆ คะ

ขอบคุณค่ะ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#16

Post by janesit »

XDoll wrote:ไม่แน่ใจว่าผมเข้าใจถูกไหมนะครับ ลองดูตามนี้
ที่ ชีท"ต้นฉบับ"
N1 =SUM($M$2:$M$180)
N2 =IF(ROWS($N$2:N2)>MAX($G$2:$G$180),"",ROWS($N$2:N2)) คัดลอกลงล่างครับ
M2 =IF($N2="","",COUNTIF($G$2:$G$180,">="&N2)) คัดลอกลงล่างครับ
O2 =IFERROR(SUM($M$1:M2)-(M2-1),"") คัดลอกลงล่างครับ

ที่ ชีท"ผลลัพธ์ที่ต้องการ"
G2 =IF(ROWS($G$2:G2)>ต้นฉบับ!$N$1,"",LOOKUP(ROWS($G$2:G2),ต้นฉบับ!$O$2:$O$93,ต้นฉบับ!$N$2:$N$93)) คัดลอกลงล่างครับ
A2 =INDEX(ต้นฉบับ!D$2:D$180,SMALL(IF(ต้นฉบับ!$G$2:$G$180>=$G2,ROW($G$2:$G$180)-1),MOD(COUNTIF($G$2:$G2,">="&$G2),COUNTIF(ต้นฉบับ!$G$2:$G$180,">="&$G2)+1))) กด Clrt+Shift+Enter คัดลอกไปด้านขวา และ ลงล่างครับ


ที่ ชีท"ต้นฉบับ"
N1 =SUM($M$2:$M$180) แก้ไข เป็น SUM(M2:M)
N2 =IF(ROWS($N$2:N2)>MAX($G$2:$G$180),"",ROWS($N$2:N2)) แก้ไขเป็น IF(ROWS($N$2:N2)>MAX(G:G),"",ROWS($N$2:N2))
M2 =IF($N2="","",COUNTIF($G$2:$G$180,">="&N2)) แก้ไขเป็น IF($N2="","",COUNTIF(G:G,">="&N2))

ใช้งานได้ ค่ะ ลองแก้ใน ชีท"ผลลัพธ์ที่ต้องการ" ทั้ง G2 และ A2 ต้องแก้ไข ยังไงให้สูตรวิ่งตามกัน โดยไม่ต้อง เปลี่ยนตัวเลข จาก 180 เป็น อื่น ๆ คะ

ขอบคุณค่ะ
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: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#17

Post by snasui »

:D แนบไฟล์ที่ได้ลองทำเองมาแล้วด้วยจะได้ช่วยดูได้ครับ
janesit
Member
Member
Posts: 119
Joined: Sat Nov 28, 2015 4:33 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#18

Post by janesit »

snasui wrote::D แนบไฟล์ที่ได้ลองทำเองมาแล้วด้วยจะได้ช่วยดูได้ครับ
ตรง ชีต ผลลัพธ์ ไม่ได้แก้ค่ะ อาจารย์
ดูไม่ออกว่า N93 , O93 คืออะไร มีที่มา อย่างไร

แนบไฟล์มาแล้วค่ะ
ขอบคุณค่ะ
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: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#19

Post by snasui »

:D แก้ง่าย ๆ โดยเพิ่มบรรทัดเข้าไปในช่วงข้อมูลเท่าที่คิดว่าข้อมูลจะขยายไปถึงครับ

เช่นเดิม G$2:$G$180 ก็แก้ใหม่เป็น G$2:$G$18000 เช่นนี้เป็นต้น

N93, O93 ที่สงสัยนั้นมันนำมาจากชีทต้นฉบับ เท่าที่ดูก็ครอบคลุมอยู่แล้ว หากจะปรับก็เปลี่ยนเลข 93 ให้เป็นเลขที่มากกว่านั้นเท่าที่คิดว่าข้อมูลจะขยายไปถึงครับ

ตัวอย่างสูตรในชีต ผลลัพธ์ฯ

เซลล์ A2 ปรับสูตรเป็น

=IF(ROWS(A$2:A2)>ต้นฉบับ!$N$1,"",INDEX(ต้นฉบับ!D$2:D$18000,SMALL(IF(ต้นฉบับ!$G$2:$G$18000>=$G2,ROW($G$2:$G$18000)-ROW($G$2)+1),COUNTIF($G$2:$G2,$G2))))

Ctrl+Shift+Enter > Copy ไปด้านขวาถึง F2 > Copy ลงด้านล่าง
User avatar
XDoll
Bronze
Bronze
Posts: 261
Joined: Sun Mar 03, 2013 9:23 pm

Re: การแทรกบรรทัดแบบมีเงื่อนไขในข้อมูลแต่ละชุด.

#20

Post by XDoll »

snasui wrote:
janesit wrote:
snasui wrote::D แนบไฟล์ที่ได้ลองทำเองมาแล้วด้วยจะได้ช่วยดูได้ครับ
ตรง ชีต ผลลัพธ์ ไม่ได้แก้ค่ะ อาจารย์
ดูไม่ออกว่า N93 , O93 คืออะไร มีที่มา อย่างไร

แนบไฟล์มาแล้วค่ะ
ขอบคุณค่ะ
:D แก้ง่าย ๆ โดยเพิ่มบรรทัดเข้าไปในช่วงข้อมูลเท่าที่คิดว่าข้อมูลจะขยายไปถึงครับ

เช่นเดิม G$2:$G$180 ก็แก้ใหม่เป็น G$2:$G$18000 เช่นนี้เป็นต้น

N93, O93 ที่สงสัยนั้นมันนำมาจากชีทต้นฉบับ เท่าที่ดูก็ครอบคลุมอยู่แล้ว หากจะปรับก็เปลี่ยนเลข 93 ให้เป็นเลขที่มากกว่านั้นเท่าที่คิดว่าข้อมูลจะขยายไปถึงครับ
:) :) :)
Post Reply