Page 1 of 1
ใช้อยากให้ข้อมูลต่อลงมาเมื่อมีข้อมูลครับ
Posted: Wed Mar 16, 2022 11:18 am
by Xcelvba
ในช่อง Column A ใช้สูตร =INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$21)/(MATCH($A$2:$A$21,$A$2:$A$21,)=ROW($A$1:$A$21)),ROWS(G$7:G7)))
ในช่อง Column B , C ใช้สูตร Sumif
เพื่อดึงค่าใน [Sheet ข้อมูล] มาสรุปใน [Sheet สรุป] แต่ใน Sheet สรุปจะมี ผลรวมอยู่บรรทัดสุดท้ายของข้อมูลเสมอ อยากให้เวลาข้อมูลดึงมาแทรก ผล รวมก่อนเสมอครับ
---------
A
B
รวม
-----------
A
B
C เมื่อมี C ให้มาแทรกก่อน รวม เสมอ
รวม
--------
A
B
C
D แทรก D ก่อน รวม
รวม
--------
รบกวนด้วยครับ
Re: ใช้อยากให้ข้อมูลต่อลงมาเมื่อมีข้อมูลครับ
Posted: Wed Mar 16, 2022 1:35 pm
by snasui

แม้จะทำด้วยสูตรได้ แต่แนะนำว่าใช้ Pivot Table ทำจะดีกว่ากันมากครับ
ลองดูตัวอย่างจากที่นี่ครับ
Pivot Table
หรือหากยืนยันว่าจะต้องการใช้สูตร กรุณายืนยันมาอีกรอบครับ
Re: ใช้อยากให้ข้อมูลต่อลงมาเมื่อมีข้อมูลครับ
Posted: Wed Mar 16, 2022 3:01 pm
by Xcelvba
snasui wrote: Wed Mar 16, 2022 1:35 pm

แม้จะทำด้วยสูตรได้ แต่แนะนำว่าใช้ Pivot Table ทำจะดีกว่ากันมากครับ
ลองดูตัวอย่างจากที่นี่ครับ
Pivot Table
หรือหากยืนยันว่าจะต้องการใช้สูตร กรุณายืนยันมาอีกรอบครับ
อยากใช้สูตรครับ เพราะเวลามีข้อมูลมาจะได้สั่งปรินส์ได้เลยครับ ขอบคุณครับ
Re: ใช้อยากให้ข้อมูลต่อลงมาเมื่อมีข้อมูลครับ
Posted: Wed Mar 16, 2022 4:02 pm
by snasui

คิดว่าไม่ได้สัมพันธ์กับ Print ได้เลยหรือไม่แต่อย่างใด ขึ้นกับการออกแบบมากกว่าครับ
ตัวอย่างสูตรตามด้านล่างครับ
- ที่ F2 คีย์สูตรเพื่อนับว่ามีกี่รายการ
=SUM(IF(FREQUENCY(IF(ข้อมูล!$A$2:$A$210<>"",MATCH(ข้อมูล!$A$2:$A$210,ข้อมูล!$A$2:$A$210,0)),ROW(ข้อมูล!$A$2:$A$210)-ROW(ข้อมูล!$A$2)+1),1))
Ctrl+Shift+Enter
- ที่ A2 คีย์สูตรเพื่อแสดงรายการ
=IF(ROWS(A$2:A2)<=$F$2,INDEX(ข้อมูล!A:A,AGGREGATE(15,6,ROW(ข้อมูล!$A$2:$A$30)/(0<FREQUENCY(MATCH(ข้อมูล!$A$2:$A$30,ข้อมูล!$A$2:$A$30,0),ROW(ข้อมูล!$A$2:$A$30)-ROW(ข้อมูล!$A$2)+1)),ROWS(A$2:A2))),IF(ROWS(A$2:A2)=$F$2+1,"รวม",""))
Enter > Copy ลงด้านล่าง
- ที่ B2 คีย์สูตรเพื่อแสดงราคา, จำนวน
=IF($A2="","",IF($A2="รวม",SUM(B$1:B1),SUMIF(ข้อมูล!$A$2:$A$21,$A2,ข้อมูล!B$2:B21)))
Enter > Copy ไป C2 > ลงด้านล่าง
- ที่ D2 คีย์เพื่อแสดงราคารวม
=IF($A2="","",IF($A2="รวม",SUM(D$1:D1),B2*C2))
Enter > Copy ลงด้านล่าง
Re: ใช้อยากให้ข้อมูลต่อลงมาเมื่อมีข้อมูลครับ
Posted: Wed Mar 16, 2022 4:16 pm
by Xcelvba
snasui wrote: Wed Mar 16, 2022 4:02 pm

คิดว่าไม่ได้สัมพันธ์กับ Print ได้เลยหรือไม่แต่อย่างใด ขึ้นกับการออกแบบมากกว่าครับ
ตัวอย่างสูตรตามด้านล่างครับ
- ที่ F2 คีย์สูตรเพื่อนับว่ามีกี่รายการ
=SUM(IF(FREQUENCY(IF(ข้อมูล!$A$2:$A$210<>"",MATCH(ข้อมูล!$A$2:$A$210,ข้อมูล!$A$2:$A$210,0)),ROW(ข้อมูล!$A$2:$A$210)-ROW(ข้อมูล!$A$2)+1),1))
Ctrl+Shift+Enter
- ที่ A2 คีย์สูตรเพื่อแสดงรายการ
=IF(ROWS(A$2:A2)<=$F$2,INDEX(ข้อมูล!A:A,AGGREGATE(15,6,ROW(ข้อมูล!$A$2:$A$30)/(0<FREQUENCY(MATCH(ข้อมูล!$A$2:$A$30,ข้อมูล!$A$2:$A$30,0),ROW(ข้อมูล!$A$2:$A$30)-ROW(ข้อมูล!$A$2)+1)),ROWS(A$2:A2))),IF(ROWS(A$2:A2)=$F$2+1,"รวม",""))
Enter > Copy ลงด้านล่าง
- ที่ B2 คีย์สูตรเพื่อแสดงราคา, จำนวน
=IF($A2="","",IF($A2="รวม",SUM(B$1:B1),SUMIF(ข้อมูล!$A$2:$A$21,$A2,ข้อมูล!B$2:B21)))
Enter > Copy ไป C2 > ลงด้านล่าง
- ที่ D2 คีย์เพื่อแสดงราคารวม
=IF($A2="","",IF($A2="รวม",SUM(D$1:D1),B2*C2))
Enter > Copy ลงด้านล่าง
ขอบคุณมากครับ พยายามจะศึกษาจากโค้ดที่ อาจารย์ ทำให้ครับ เดี๋ยวผมลองใช้ pivot table ดูครับ ถ้าติดตรงไหนเดี๋ยวมารบกวนใหม่ครับ
