#4
by snasui » Sun Apr 04, 2021 8:33 pm

ต้วอย่างข้อมูลที่แนบมานั้นเป็นแบบรายงาน ควรทำข้อมูลให้เป็น Database เสียก่อนจึงจะนำไปสร้าง Report ด้วย Pivot Table ไม่ใช่นำรายงานไปสร้างรายงานครับ
ตัวอย่างการใช้สูตรช่วยเพื่อแปลงรายงานให้กลับไปเป็น Database ครับ
- L2:P2 คีย์หัวคอลัมน์เป็น State, City, Type, Sub Type, Value ตามลำดับ
- ที่ L3 คีย์
=IF(ROWS(L$3:L3)>COUNT($C$3:$J$8),"",INDEX(A$3:A$8,INT((ROWS(L$3:L3)-1)/COUNT($C$3:$J$3))+1))
Enter > Copy ไป M3 แล้ว Copy ลงด้านล่าง
- ที่ N3 คีย์
=IF(L3="","",LOOKUP(CHAR(255),OFFSET($C$1,0,0,1,MOD(ROWS(N$3:N3)-1,COUNTA($C$2:$J$2))+1)))
Enter > Copy ลงด้านล่าง
- ที่ O3 คีย์
=IF(L3="","",INDEX($C$2:$J$2,MOD((ROWS(O$3:O3)-1),COUNTA($C$2:$J$2))+1))
Enter > Copy ลงด้านล่าง
- ที่ P3 คีย์
=IF(L3="","",SUMIFS(INDEX($C$3:$J$8,0,MATCH(O3,$C$2:$J$2,0)),$A$3:$A$8,L3,$B$3:$B$8,M3))
Enter > Copy ลงด้านล่าง
- นำข้อมูลที่ได้ไปสร้างรายงานด้วย Pivot Table
:D ต้วอย่างข้อมูลที่แนบมานั้นเป็นแบบรายงาน ควรทำข้อมูลให้เป็น Database เสียก่อนจึงจะนำไปสร้าง Report ด้วย Pivot Table ไม่ใช่นำรายงานไปสร้างรายงานครับ
ตัวอย่างการใช้สูตรช่วยเพื่อแปลงรายงานให้กลับไปเป็น Database ครับ
[List=1]
[*] L2:P2 คีย์หัวคอลัมน์เป็น State, City, Type, Sub Type, Value ตามลำดับ
[*] ที่ L3 คีย์
[font=consolas]=IF(ROWS(L$3:L3)>COUNT($C$3:$J$8),"",INDEX(A$3:A$8,INT((ROWS(L$3:L3)-1)/COUNT($C$3:$J$3))+1))[/font]
Enter > Copy ไป M3 แล้ว Copy ลงด้านล่าง
[*] ที่ N3 คีย์
[font=consolas]=IF(L3="","",LOOKUP(CHAR(255),OFFSET($C$1,0,0,1,MOD(ROWS(N$3:N3)-1,COUNTA($C$2:$J$2))+1)))[/font]
Enter > Copy ลงด้านล่าง
[*] ที่ O3 คีย์
[font=consolas]=IF(L3="","",INDEX($C$2:$J$2,MOD((ROWS(O$3:O3)-1),COUNTA($C$2:$J$2))+1))[/font]
Enter > Copy ลงด้านล่าง
[*] ที่ P3 คีย์
[font=consolas]=IF(L3="","",SUMIFS(INDEX($C$3:$J$8,0,MATCH(O3,$C$2:$J$2,0)),$A$3:$A$8,L3,$B$3:$B$8,M3))[/font]
Enter > Copy ลงด้านล่าง
[*] นำข้อมูลที่ได้ไปสร้างรายงานด้วย Pivot Table
[/list]