Page 1 of 1
เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Wed Jan 04, 2023 8:36 pm
by anusat
สวัสดีครับขอรบกวนสอบถาม
พอดีผมเก็บตัวอย่างข้อมูลสถิติที่ทำการลงข้อมูล และต้องการแสดงผลข้อมูลแสดงผลอีกหน้า
(โดยสามารถปรับช่องสีฟ้า เพื่อเลือกช่วงเวลาเป็นไตรมาส)
ผมสามารถ
(1) เขียนคำสั่งในช่องสีเขียว เพื่อรวมข้อมูลเป็นช่องสีเขียวแต่ละช่อง โดยแยกตามช่วงเดือนและตามจังหวัด
(2) เขียนคำสั่งในช่องสีเหลือง ให้นับจำนวนเป็นข้อมูลในช่องสีเหลืองแต่ละช่อง โดยแยกตามช่วงเดือนและตามจังหวัด
เมื่อใส่ข้อมูล มกราคม-มีนาคม จะได้ข้อมูลดังตารางแสดงผล (บน)
หากปรับข้อมูล เป็น เมษายน-มิถุนายน ค่าในตารางจะเปลี่ยนไป (ล่าง)
ซึ่งโดยตารางแสดงผลบนล่าง เป็นตารางเดิม เปลี่ยนค่าในช่องสีฟ้า
หากอยากใช้ SUMIFS/COUNTIFS ในลักษณะไหนเงื่อนไขแบบใดได้บ้างครับ หรือมีคำสั่งอื่น ๆ แนะนำผมได้เลยนะครับ
-- Excel 2019 --
ขอบคุณครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Wed Jan 04, 2023 9:03 pm
by snasui

กรุณาแนบไฟล์ตัวอย่างมาด้วยจะได้สะดวกในการตอบของเพื่อนสมาชิกครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 8:57 am
by anusat
ขออนุญาตแนบไฟล์ตัวอย่างเพิ่มเติมครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 9:54 am
by snasui

กรุณา Update Version ของ Excel ที่ใช้อยู่จริงตามตัวอย่างใน Link นี้ด้วยครับ
viewtopic.php?p=103177#p103177
ตัวอย่างสูตรที่ D32 ครับ
=SUMIFS(INDEX(E$4:E$19,MATCH(LEFT($A$31,FIND("-",$A$31)-1)&"*",$B$4:$B$19,0)):INDEX(E$4:E$19,IFERROR(LOOKUP(2,1/($B$4:$B$19=MID($A$31,FIND("-",$A$31)+1,15)),ROW($B$4:$B$19)-ROW($B$4)+1),ROWS($B$4:$B$19))),INDEX($D$4:$D$19,MATCH(LEFT($A$31,FIND("-",$A$31)-1)&"*",$B$4:$B$19,0)):INDEX($D$4:$D$19,IFERROR(LOOKUP(2,1/($B$4:$B$19=MID($A$31,FIND("-",$A$31)+1,15)),ROW($B$4:$B$19)-ROW($B$4)+1),ROWS($B$4:$B$19))),$B32)
Enter > Copy ไปทางขวาและลงด้านล่าง
ส่วน C32 ยังไม่เข้าใจว่าคิดจากเซลล์ไหน มีวิธีคิดอย่างไร กรุณาอธิบายที่มาของตัวเลขมาใหม่อีกรอบครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 10:52 am
by Xcelvba
ลองเพิ่มคอลัมน์ช่วย
I3=MONTH(DATEVALUE($B$4:$B$19&"1"))
สูตร
C32=SUM(COUNTIFS($J$17#,ROW(INDIRECT(MONTH(DATEVALUE(LEFT($A$31,FIND("-",$A$31)-1)&"1"))&":"&MONTH(DATEVALUE(RIGHT($A$31,LEN($A$31)-FIND("-",$A$31))&"1")))),$D$4:$D$19,$B32))
Copy ลงมาครับ
กรณีอยากเขียนสูตร แบบไม่เพิ่ม คอลัมน์ รอเพื่อนๆ สมาชิกท่านอื่นช่วยนะครับ
ผมลองเอาสูตร MONTH(DATEVALUE($B$4:$B$19&"1")) มาใส่แทน $J$17# แล้ว ERRROR ไม่รู้ทำไมครับรอถามสมาชิกท่านอื่นๆครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 11:13 am
by anusat
ตามตัวอย่าง สำหรับ C32 นับจังหวัดที่ร้องเรียน ในรอบเดือน มกราคม-มีนาคม
- กรุงเทพมหานคร มี 4 ครั้ง ครับ
- เชียงใหม่ 3 ครั้ง
- ลำพูน 3 ครั้ง
- ลำปาง 3 ครั้ง
ขอบคุณสำหรับสูตรในช่อง D32 ครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 12:27 pm
by snasui

ตัวอย่างสูตรในเซลล์ C32 ครับ
=COUNTIFS(INDEX(D$4:D$19,MATCH(LEFT($A$31,FIND("-",$A$31)-1)&"*",$B$4:$B$19,0)):INDEX(D$4:D$19,IFERROR(LOOKUP(2,1/($B$4:$B$19=MID($A$31,FIND("-",$A$31)+1,15)),ROW($B$4:$B$19)-ROW($B$4)+1),ROWS($B$4:$B$19))),$B32)
Enter > Copy ลงด้านล่าง
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 1:07 pm
by Xcelvba
ขออนุญาต ถามในกระทู้นี้ครับ ทำไม
MONTH(DATEVALUE($B$4:$B$19&"1"))
ถึงไม่สามารถใส่ในนี้ได้ครับ
=SUM(COUNTIFS($J$17#,ROW(INDIRECT(MONTH(DATEVALUE(LEFT($A$31,FIND("-",$A$31)-1)&"1"))&":"&MONTH(DATEVALUE(RIGHT($A$31,LEN($A$31)-FIND("-",$A$31))&"1")))),$D$4:$D$19,$B32))
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 1:15 pm
by snasui

กรุณาแนบไฟล์พร้อมสูตรนั้นมาด้วยจะได้ช่วยดูให้ได้ครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 1:23 pm
by Xcelvba
ผลใช้สูตร I5= MONTH(DATEVALUE($B$4:$B$19&"1")) เพื่อเปลี่ยนค่าจาก TEXT (เดือน) เป็น ตัวเลข
K5==(COUNTIFS(I5#,ROW(INDIRECT(MONTH(DATEVALUE(LEFT($A$31,FIND("-",$A$31)-1)&"1"))&":"&MONTH(DATEVALUE(RIGHT($A$31,LEN($A$31)-FIND("-",$A$31))&"1")))),$D$4:$D$19,$B32))
ค่าของ I5# = MONTH(DATEVALUE($B$4:$B$19&"1"))
สูตรทำงานได้ปกติ ได้ค่ามาเป็น Array แล้วใช้สูตร SUM เพิ่ม
=SUM((COUNTIFS(I5#,ROW(INDIRECT(MONTH(DATEVALUE(LEFT($A$31,FIND("-",$A$31)-1)&"1"))&":"&MONTH(DATEVALUE(RIGHT($A$31,LEN($A$31)-FIND("-",$A$31))&"1")))),$D$4:$D$19,$B32)))
ได้ผลลัพธ์ครับ
แต่เมื่อผมลองเอา MONTH(DATEVALUE($B$4:$B$19&"1")) มาเพิ่มในสูตรแต่กับฟ้อง สูตรผิดครับ
=(COUNTIFS(MONTH(DATEVALUE($B$4:$B$19&"1"))
,ROW(INDIRECT(MONTH(DATEVALUE(LEFT($A$31,FIND("-",$A$31)-1)&"1"))&":"&MONTH(DATEVALUE(RIGHT($A$31,LEN($A$31)-FIND("-",$A$31))&"1")))),$D$4:$D$19,$B32))
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 1:59 pm
by snasui

ตัวอย่างการปรับสูตรครับ
- ที่ K5 คีย์
=SUM(COUNTIFS(I4#,TEXT("2023/"&ROW(INDIRECT(MONTH(VLOOKUP(LEFT($A$31,FIND("-",$A$31)-1),$B$4:$I$19,8,0)&"1")&":"&MONTH(VLOOKUP(RIGHT($A$31,LEN($A$31)-FIND("-",$A$31)),$B$4:$I$19,8,0)&"1")))&"/1","mmm"),$D$4:$D$19,$B32))
Enter
- ที่ I4 คีย์
=TEXT("2023/"&MATCH(B4:B19,UNIQUE(B4:B19),0)&"/1","mmm")
Enter
ชื่อเดือนเป็นภาษาไทยอาจจะมีปัญหากับเครื่องที่กำหนด Regional and Language ไว้ต่างกัน ปรับชื่อเดือนเป็นภาษาอังกฤษจะให้ความแม่นยำมากกว่าครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Thu Jan 05, 2023 4:17 pm
by Xcelvba
ขอบคุณครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Fri Jan 06, 2023 1:01 pm
by anusat
รบกวนสอบถาม เพื่อนำไปประยุกต์ใช้ต่อ
หากต้องการปรับช่วง
เดิม มกราคม-มีนาคม (3 เดือน) ==> ขยายเป็น มกราคม - มิถุนายน (6 เดือน)
ผมสามารถนำสูตรตัวอย่าง ช่อง C32 (#7) D32 (#4) ไปประยุกต์ใช้ได้ไหมครับ
ขอบพระคุณครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Fri Jan 06, 2023 3:11 pm
by snasui

สามารถปรับที่ C32 เป็นสูตรด้านล่างครับ
=SUMPRODUCT(--($D$4:$D$19=$B32),--(ROW($B$4:$B$19)>=MIN(IFERROR(ROW($B$4:$B$19)/(0<SEARCH($B$4:$B$19,$A$31)),FALSE))),--(ROW($B$4:$B$19)<=IF(COUNTIF($B$4:$B$19,MID($A$31,FIND("-",$A$31)+1,15))=0,ROWS($B$4:$B$19),MAX(IFERROR(ROW($B$4:$B$19)/(0<SEARCH($B$4:$B$19,$A$31)),FALSE))))*IF(COLUMNS($C32:C32)-1,D$4:D$19,1))
Copy ไปด้านขวาและลงด้านล่าง
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Sat Jan 07, 2023 12:48 pm
by anusat
และในกรณีของ รอบ 9 เดือน และ 12 เดือน เหมือนกัน กับ 3 เดือน และ 6 เดือนไหมครับ
ขอบพระคุณมากครับ



Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Sat Jan 07, 2023 1:17 pm
by snasui

เหมือนกันครับ
กรุณาทดสอบด้วยตนเอง ติดปัญหาแล้วค่อยถามกันต่อครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Sat Jan 07, 2023 3:40 pm
by anusat
เขียนคำสั่ง 1 ครั้ง
สามารถเลือกพิมพ์ช่วงเวลาลงไปในช่องเวลา
1. มกราคม-มีนาคม
2. มกราคม-มิถุนายน
3. มกราคม-กันยายน
4. มกราคม-ธันวาคม
ผมสามารถนำคำสั่ง #14 ได้ไหมครับ
ผมขออภัยอย่างยิ่งครับ พอดีผมนำคำสั่ง #14 ไปปรับได้เรียบร้อยครับ แต่ผมนึกออกอีกว่า ช่องช่วงเวลา
ผมขออภัยในความผิดพลาดที่เกิดขึ้นด้วยครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Sat Jan 07, 2023 4:02 pm
by snasui

ผมตอบไปแล้ว กรุณาทดสอบดูเอง ได้ผลหรือไม่จะได้ทราบ ติดขัดตรงไหนนำปัญหานั้นมาถามกันต่อครับ
Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข
Posted: Sat Jan 07, 2023 10:48 pm
by anusat