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
:D กรุณาแนบไฟล์ตัวอย่างมาด้วยจะได้สะดวกในการตอบของเพื่อนสมาชิกครับ

Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข

Posted: Thu Jan 05, 2023 8:57 am
by anusat
ขออนุญาตแนบไฟล์ตัวอย่างเพิ่มเติมครับ

Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข

Posted: Thu Jan 05, 2023 9:54 am
by snasui
:D กรุณา Update Version ของ Excel ที่ใช้อยู่จริงตามตัวอย่างใน Link นี้ด้วยครับ :arrow: 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
:D ตัวอย่างสูตรในเซลล์ 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
:D กรุณาแนบไฟล์พร้อมสูตรนั้นมาด้วยจะได้ช่วยดูให้ได้ครับ

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
:D ตัวอย่างการปรับสูตรครับ
  1. ที่ 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
  2. ที่ 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
:D สามารถปรับที่ 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
:D เหมือนกันครับ

กรุณาทดสอบด้วยตนเอง ติดปัญหาแล้วค่อยถามกันต่อครับ

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
:D ผมตอบไปแล้ว กรุณาทดสอบดูเอง ได้ผลหรือไม่จะได้ทราบ ติดขัดตรงไหนนำปัญหานั้นมาถามกันต่อครับ

Re: เขียนคำสั่งนับยอดรวมและรวมจำนวนตามเงื่อนไข

Posted: Sat Jan 07, 2023 10:48 pm
by anusat
ขอบคุณมากครับ 🙏🏻🙏🏻🙏🏻