Page 1 of 1
การหาผลรวมแบบมีเงื่อนไข
Posted: Thu Jul 09, 2020 3:36 pm
by pro602
ขอคำแนะนำสูตรการหาผลรวมและการนำข้อมูลมาแสดงแบบมีเงื่อนไขหน่อยครับ
จาก File ที่แนบ
-ช่วงข้อมูล A-C จะมีการเก็บเพิ่มไปเรื่อยๆครับตามวันที่ไปเรื่อยๆ
-ถ้าเปลี่ยนวันที่ G3 ให้รายการ Material ที่มีในวันนั้นๆมาแสดง Auto ถ้ามีซ้ำกันแสดงเพียงแค่ตัวเดียว (แสดงช่วง H3,H4,H5... ตามจำนวนข้อมูล)
-ในช่อง Cost ให้หาผลรวมของ Material นั้นๆตามวันที่กำหนด (แสดงช่วง I3,I4,I5... ตามจำนวนข้อมูล)
ขอบคุณครับ
Re: การหาผลรวมแบบมีเงื่อนไข
Posted: Fri Jul 10, 2020 10:43 pm
by snasui

ตัวอย่างสูตรตามด้านล่างครับ
- ที่ H3 คีย์
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($A$2:$A$1000)/($A$2:$A$1000=$G$3)/(FREQUENCY(MATCH("~"&$B$2:$B$1000,$B$2:$B$1000&"",0),ROW($A$2:$A$1000)-ROW($A$2)+1)>0),ROWS(H$3:H3))),"")
Enter > Copy ลงด้านล่าง
- ที่ I3 คีย์
=SUMIFS($C$2:$C$1000,$A$2:$A$1000,$G$3,$B$2:$B$1000,H3)
Enter > Copy ลงด้านล่าง
Re: การหาผลรวมแบบมีเงื่อนไข
Posted: Sat Jul 11, 2020 10:46 am
by pro602
สวัสดีครับอาจารย์
ตามสูตรด้านล่างที่อาจารย์แนะนำมาผมลองใช้งานกับ excel V.2007 ไม่ได้ครับ
พอเอาไปใช้กับ Excel v.2013 เจอปัญหาดังนี้ครับ (อ้างอิงตาม File ที่แนบครับ)
ที่ G3 วันที่ 8/7/2020 สูตรที่ I3 ดึงข้อมูลมาได้ครบถูกต้อง
ที่ G3 เปลี่ยนวันที 9/7/2020 สูตรที่ I3 ดึงข้อมูลมาแค่บางส่วน (แสดงส่วนที่ไม่ซ้ำกับลำดับก่อนหน้านี้)
ที่ G3 เปลี่ยนวันที่ลงไปเรื่อยๆ ที่ I3 จะไม่แสดงค่าเลย
**ต้องปรับสูตรตรงจุดไหนครับ ข้อสังเกตุที่ผมเข้าใจคือในวันถัดๆไปที่ I3 จะไม่ดึงข้อมูลที่ซ้ำกับลำดับก่อนหน้านี้มาแสดงครับ
**และถ้านำมาใช้กับ Excel 2007 ต้องปรับใช้สูตรเป็นแบบไหนครับ
จากสูตร
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($A$2:$A$1000)/($A$2:$A$1000=$G$3)/(FREQUENCY(MATCH("~"&$B$2:$B$1000,$B$2:$B$1000&"",0),ROW($A$2:$A$1000)-ROW($A$2)+1)>0),ROWS(H$3:H3))),"")
Enter > Copy ลงด้านล่าง
ที่ I3 คีย์
=SUMIFS($C$2:$C$1000,$A$2:$A$1000,$G$3,$B$2:$B$1000,H3)
Enter > Copy ลงด้านล่าง
Re: การหาผลรวมแบบมีเงื่อนไข
Posted: Sat Jul 11, 2020 11:18 am
by snasui
pro602 wrote: Sat Jul 11, 2020 10:46 am
ตามสูตรด้านล่างที่อาจารย์แนะนำมาผมลองใช้งานกับ excel V.2007 ไม่ได้ครับ

ปรับสูตรใหม่เป็นด้านล่างครับ
=IFERROR(INDEX($B$2:$B$51,SMALL(IF(FREQUENCY(IF($A$2:$A$51=$G$3,MATCH($B$2:$B$51,$B$2:$B$51,0)),ROW($A$2:$A$51)-ROW($A$2)+1),ROW($A$2:$A$51)-ROW($A$2)+1),ROWS(H$3:H3))),"")
Control+Shift+Enter > Copy ลงด้นล่าง ปรับช่วงเซลล์ในสูตรตามข้อมูลที่มีหรือตามที่คิดว่าข้อมูลจะขยายไปถึงครับ
Re: การหาผลรวมแบบมีเงื่อนไข
Posted: Sat Jul 11, 2020 12:18 pm
by pro602
snasui wrote: Sat Jul 11, 2020 11:18 am
pro602 wrote: Sat Jul 11, 2020 10:46 am
ตามสูตรด้านล่างที่อาจารย์แนะนำมาผมลองใช้งานกับ excel V.2007 ไม่ได้ครับ

ปรับสูตรใหม่เป็นด้านล่างครับ
=IFERROR(INDEX($B$2:$B$51,SMALL(IF(FREQUENCY(IF($A$2:$A$51=$G$3,MATCH($B$2:$B$51,$B$2:$B$51,0)),ROW($A$2:$A$51)-ROW($A$2)+1),ROW($A$2:$A$51)-ROW($A$2)+1),ROWS(H$3:H3))),"")
Control+Shift+Enter > Copy ลงด้นล่าง ปรับช่วงเซลล์ในสูตรตามข้อมูลที่มีหรือตามที่คิดว่าข้อมูลจะขยายไปถึงครับ
ขอบคุณครับอาจารย์