:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#1

Post by anusat »

สวัสดีครับขอรบกวนสอบถาม
พอดีผมเก็บตัวอย่างข้อมูลสถิติที่ทำการลงข้อมูล และต้องการแสดงผลข้อมูลแสดงผลอีกหน้า
(โดยสามารถปรับช่องสีฟ้า เพื่อเลือกช่วงเวลาเป็นไตรมาส)

ผมสามารถ
(1) เขียนคำสั่งในช่องสีเขียว เพื่อรวมข้อมูลเป็นช่องสีเขียวแต่ละช่อง โดยแยกตามช่วงเดือนและตามจังหวัด
(2) เขียนคำสั่งในช่องสีเหลือง ให้นับจำนวนเป็นข้อมูลในช่องสีเหลืองแต่ละช่อง โดยแยกตามช่วงเดือนและตามจังหวัด

เมื่อใส่ข้อมูล มกราคม-มีนาคม จะได้ข้อมูลดังตารางแสดงผล (บน)
หากปรับข้อมูล เป็น เมษายน-มิถุนายน ค่าในตารางจะเปลี่ยนไป (ล่าง)

ซึ่งโดยตารางแสดงผลบนล่าง เป็นตารางเดิม เปลี่ยนค่าในช่องสีฟ้า

หากอยากใช้ SUMIFS/COUNTIFS ในลักษณะไหนเงื่อนไขแบบใดได้บ้างครับ หรือมีคำสั่งอื่น ๆ แนะนำผมได้เลยนะครับ

-- Excel 2019 --

ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#2

Post by snasui »

:D กรุณาแนบไฟล์ตัวอย่างมาด้วยจะได้สะดวกในการตอบของเพื่อนสมาชิกครับ
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#3

Post by anusat »

ขออนุญาตแนบไฟล์ตัวอย่างเพิ่มเติมครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#4

Post 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 ยังไม่เข้าใจว่าคิดจากเซลล์ไหน มีวิธีคิดอย่างไร กรุณาอธิบายที่มาของตัวเลขมาใหม่อีกรอบครับ
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#5

Post 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 ไม่รู้ทำไมครับรอถามสมาชิกท่านอื่นๆครับ
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#6

Post by anusat »

ตามตัวอย่าง สำหรับ C32 นับจังหวัดที่ร้องเรียน ในรอบเดือน มกราคม-มีนาคม
- กรุงเทพมหานคร มี 4 ครั้ง ครับ
- เชียงใหม่ 3 ครั้ง
- ลำพูน 3 ครั้ง
- ลำปาง 3 ครั้ง

ขอบคุณสำหรับสูตรในช่อง D32 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#7

Post 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 ลงด้านล่าง
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#8

Post 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))
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#9

Post by snasui »

:D กรุณาแนบไฟล์พร้อมสูตรนั้นมาด้วยจะได้ช่วยดูให้ได้ครับ
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#10

Post 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))
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#11

Post 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 ไว้ต่างกัน ปรับชื่อเดือนเป็นภาษาอังกฤษจะให้ความแม่นยำมากกว่าครับ
You do not have the required permissions to view the files attached to this post.
Xcelvba
Silver
Silver
Posts: 604
Joined: Thu Feb 03, 2022 9:04 am
Excel Ver: 2019

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

#12

Post by Xcelvba »

ขอบคุณครับ
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#13

Post by anusat »

รบกวนสอบถาม เพื่อนำไปประยุกต์ใช้ต่อ

หากต้องการปรับช่วง
เดิม มกราคม-มีนาคม (3 เดือน) ==> ขยายเป็น มกราคม - มิถุนายน (6 เดือน)

ผมสามารถนำสูตรตัวอย่าง ช่อง C32 (#7) D32 (#4) ไปประยุกต์ใช้ได้ไหมครับ

ขอบพระคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#14

Post 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 ไปด้านขวาและลงด้านล่าง
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#15

Post by anusat »

และในกรณีของ รอบ 9 เดือน และ 12 เดือน เหมือนกัน กับ 3 เดือน และ 6 เดือนไหมครับ

ขอบพระคุณมากครับ 🙏🏻🙏🏻🙏🏻
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#16

Post by snasui »

:D เหมือนกันครับ

กรุณาทดสอบด้วยตนเอง ติดปัญหาแล้วค่อยถามกันต่อครับ
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#17

Post by anusat »

เขียนคำสั่ง 1 ครั้ง

สามารถเลือกพิมพ์ช่วงเวลาลงไปในช่องเวลา
1. มกราคม-มีนาคม
2. มกราคม-มิถุนายน
3. มกราคม-กันยายน
4. มกราคม-ธันวาคม

ผมสามารถนำคำสั่ง #14 ได้ไหมครับ

ผมขออภัยอย่างยิ่งครับ พอดีผมนำคำสั่ง #14 ไปปรับได้เรียบร้อยครับ แต่ผมนึกออกอีกว่า ช่องช่วงเวลา

ผมขออภัยในความผิดพลาดที่เกิดขึ้นด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31153
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

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

#18

Post by snasui »

:D ผมตอบไปแล้ว กรุณาทดสอบดูเอง ได้ผลหรือไม่จะได้ทราบ ติดขัดตรงไหนนำปัญหานั้นมาถามกันต่อครับ
anusat
Member
Member
Posts: 26
Joined: Tue Nov 05, 2013 9:39 pm
Excel Ver: 2019

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

#19

Post by anusat »

ขอบคุณมากครับ 🙏🏻🙏🏻🙏🏻
Post Reply