: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

สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

ฟอรัมถาม-ตอบปัญหาการใช้งาน 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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#1

Post by Totem »

สวัสดีครับ :D
วันนี้ปัญหาการใช้สูตร COUNTIFS ที่ทำให้ใช้สั้นกระทัดรัดลงได้หรือไม่ เนื่องจากข้อมูลมีมาก (ข้อมูลบางส่วน) ถ้าใส่สูตรตามตัวอย่างในช่องเซล G12 , G13 ถึง G17 ทำให้ประมวลผลช้าลงมากในแต่ละช่องเซล ซึ่งเกิดจาก การ +COUNTIFS..+COUNTIFS...+
อยากทราบว่ามีวิธีแก้ไขสูตร COUNTIFS ที่ใช้สั้นกระทัดรัดลง หรือมีสูตรอื่นทีใช้แทนได้ง่ายกว่าหรือไม่ครับ

ขอบคุณครับ :P
You do not have the required permissions to view the files attached to this post.
joo
Gold
Gold
Posts: 1213
Joined: Sat Apr 17, 2010 3:50 pm

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#2

Post by joo »

:D ลองตามนี้ดูครับที่ G12 คีย์ =COUNTIFS($B$3:$B$8,$E12,$C$3:$C$8,$E4,$A$3:$A$8,G$11)Enter >Copy ไปทางขวาและลงล่างและ B1 กับ B2 ควรแยกอยู่กันคนละบรรทัดด้วยครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#3

Post by Totem »

ยังไม่ใช่สิ่งที่ต้องการ ครับ เพราะ แผนก A อาจจะมีการจ่ายเงิน บัตรเครดิต a , b , e , f ได้ สูตรยังไม่่ครอบคลุม และ B1,B2 ต้องอยู่รวมกันครับ

ขอบคุณครับ คุณ joo
nattasiray
Bronze
Bronze
Posts: 284
Joined: Thu Feb 11, 2010 8:32 pm
Contact:

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#4

Post by nattasiray »

ผมแยกรหัสแผนกออกมาด้วยสูตร LEFT จากนั้นใช้ SUMPRODUCT เข้าช่วย
You do not have the required permissions to view the files attached to this post.
ณัฐศิระ เยาวสุต
(N. Yauvasuta)
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#5

Post by Totem »

ข้อมูลช่องเซลที c2 ถึง c8 เกี่ยวข้องด้วยกับช่องเซล e4 - e9 ครับ อาจจะมีการจ่ายเงิน บัตรเครดิต a , b , e , f , g , h... ซึ่ง ตัวอย่าง แผนก A การจ่ายเงิน บัตรเครดิตอื่นที่ไม่ใช่ a , b , e , f อาจเป็น g , h ซึ่งไม่นับจำนวน เป็นต้น

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

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#6

Post by snasui »

:D ลองตามนี้ครับ

เซลล์ G12 คีย์

=SUMPRODUCT(--ISNUMBER(SEARCH($B$3:$B$8,$E12)),--($A$3:$A$8=G$11))

Enter > Copy ไปทางขวาและลงด้านล่าง
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#7

Post by Totem »

:P ขอบคุณครับอาจารย์ :cp: สูตรที่ให้มา ผมปรับสูตรนิดหน่อยได้ตามที่ต้องการแล้วครับ ดังนี้

=SUMPRODUCT(--ISNUMBER(SEARCH($B$3:$B$8,$E12)),--($A$3:$A$=G$11),--($C$3:$C$8=E$4)--($C$3:$C$8=E$5)--($C$3:$C$8=E$6)--($C$3:$C$8=E$7)--($C$3:$C$8=E$8)--($C$3:$C$8=E$9))
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#8

Post by snasui »

:D สูตรที่ปรับมานิดหน่อยตามที่เขียนมานั้นเป็นสูตรที่ไม่ถูกต้องครับ

ที่ผิดคือตามที่ระบายสีไว้ครับ

=SUMPRODUCT(--ISNUMBER(SEARCH($B$3:$B$8,$E12)),--($A$3:$A$=G$11),--($C$3:$C$8=E$4)--($C$3:$C$8=E$5)--($C$3:$C$8=E$6)--($C$3:$C$8=E$7)--($C$3:$C$8=E$8)--($C$3:$C$8=E$9))

สูตรลักษณะนี้ที่ถูกต้องคือ ข้างหน้าเครื่องหมาย -- จะต้องมีเครื่องหมาย , เสมอ

หากปรับให้ถูกต้องแล้วแต่ไม่ได้คำตอบตามที่ต้องการ แสดงว่าเงื่อนไขที่ใส่เข้าไปในสูตรไม่ถูกต้องครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#9

Post by Totem »

สูตรลักษณะนี้ที่ถูกต้องคือ ข้างหน้าเครื่องหมาย -- จะต้องมีเครื่องหมาย , เสมอ

ครับ ถ้าใส่เครื่องหมาย , ค่าที่ได้เป็น 0 ครับ จึงไม่ได้คำตอบที่ต้องการ ซึ่งในช่อง E$4 ถึง E$9 ต้องใช้ในเงื่อนไขด้วยครับ จะแก้ไขอย่างไรดีครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#10

Post by snasui »

:D ช่วยเขียนเงื่อนไขมาทังหมดพร้อมแสดงคำตอบที่ต้องการมาในไฟล์แนบด้วย จะได้ทราบว่าเงื่อนไขคืออะไร ต้องการตอบเป็นเท่าใด จะได้เข้าใจตรงกันครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#11

Post by Totem »

snasui wrote::D ช่วยเขียนเงื่อนไข มาทังหมดพร้อมแสดงคำตอบที่ต้องการมาในไฟล์แนบด้วย จะได้ทราบว่าเงื่อนไขคืออะไร ต้องการตอบเป็นเท่าใด จะได้เข้าใจตรงกันครับ
เงื่อนไข
ในส่วนของแบบฟอร์ม การจ่ายเงิน ต้องการการจ่ายเงินบัตรเครดิต เฉพาะ E4 ถึง E9 ส่วนของข้อมูล แผนก ช่อง B13 ถึง B15 อาจจะมีการจ่ายเงินบัตรเครดิตที่ไม่อยู่ให้เงือนไขแบบฟอร์ม เงื่อนไขต้องการให้ส่วนข้อมูลที่ระบายสีไว้ไม่ให้นับรวมมาลงในช่อง G12 คำตอบที่ต้องการเท่ากับ 1 ครับ
ดังเอกสารที่แนบเพิ่มเติม

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

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#12

Post by snasui »

:D ลองปรับสูตรเป็นตามด้านล่างครับ

=SUMPRODUCT(--ISNUMBER(SEARCH($B$3:$B$15,$E12)),--($A$3:$A$15=G$11),--ISNUMBER(MATCH($C$3:$C$15,$E$4:$E$9,0)))
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#13

Post by Totem »

snasui wrote::D ลองปรับสูตรเป็นตามด้านล่างครับ

=SUMPRODUCT(--ISNUMBER(SEARCH($B$3:$B$15,$E12)),--($A$3:$A$15=G$11),--ISNUMBER(MATCH($C$3:$C$15,$E$4:$E$9,0)))
:thup: ทำได้ตามที่ต้องการแล้วครับ ขอบคุณครับอาจารย์ :D
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#14

Post by Totem »

ขอสอบถามเพิ่มเติมครับ อาจารย์ ถ้าเกิดข้อมูลในช่อง $B$15 เป็นแผนก b1c และแบบฟอร์มในช่อง $E14 เป็นแผนก b1c หากเราใช้สูตร =SUMPRODUCT(--ISNUMBER(SEARCH($B$3:$B$15,$E14)),--($A$3:$A$15=G$11),--ISNUMBER(MATCH($C$3:$C$15,$E$4:$E$9,0))) คำตอบที่ได้จะเป็น 2 ที่ถูกต้องเป็น 1 จะปรับสูตรให้ได้ผลที่ถูกต้องได้หรือไม่ครับ
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#15

Post by snasui »

:D ที่เครื่องผมผลลัพธ์ถูกต้องครับ

ช่วยแนบไฟล์ตัวอย่างที่เป็นปัญหามาด้วยจะได้เห็นว่ามีการกรอกข้อมูลถูกต้องตรงกันหรือไม่ อย่างไร จะได้ช่วยตรวจสอบได้ครับ
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#16

Post by Totem »

snasui wrote::D ที่เครื่องผมผลลัพธ์ถูกต้องครับ

ช่วยแนบไฟล์ตัวอย่างที่เป็นปัญหามาด้วยจะได้เห็นว่ามีการกรอกข้อมูลถูกต้องตรงกันหรือไม่ อย่างไร จะได้ช่วยตรวจสอบได้ครับ
:D เอกสารที่แนบเพิ่มเติม ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#17

Post by snasui »

:D อันนี้เป็นปัญหาที่ต้องเข้าใจก่อนว่าการใช้สูตร Sumproduct ตามที่ตอบไปเป็นการ Search

นั่นคือ หากรวม 3 แผนก คือ a, b1, b2 ลงในเซลล์เดียวกัน ค่าที่คีย์เช่นนี้ได้ผลลัพธ์เดียวกันกับ ab1b2 คือ แม้จะไม่คั่นด้วยเครื่องหมาย , ก็ให้ค่าได้เท่ากัน

การกรอก b1c จึงมีค่าเท่ากับ 2 แผนกคือแผนก b1 และ แผนก c

แต่หากในเซลล์ใด ๆ ในช่วง E12:E17 มีการกรอกแค่แผนกเดียวเท่านั้น สูตร Sumproduct จะต้องเปลี่ยนใหม่เป็น

=SUMPRODUCT(--($B$3:$B$15=$E12),--($A$3:$A$15=G$11),--ISNUMBER(MATCH($C$3:$C$15,$E$4:$E$9,0)))

Enter > Copy ลงด้านล่าง
Totem
Silver
Silver
Posts: 650
Joined: Fri Oct 11, 2013 7:52 pm
Excel Ver: 365 , 2007

Re: สูตร COUNTIFS ให้สั้นกระทัดรัดขึ้นหรือมีสูตรอื่นใช้แทน

#18

Post by Totem »

snasui wrote::D อันนี้เป็นปัญหาที่ต้องเข้าใจก่อนว่าการใช้สูตร Sumproduct ตามที่ตอบไปเป็นการ Search

นั่นคือ หากรวม 3 แผนก คือ a, b1, b2 ลงในเซลล์เดียวกัน ค่าที่คีย์เช่นนี้ได้ผลลัพธ์เดียวกันกับ ab1b2 คือ แม้จะไม่คั่นด้วยเครื่องหมาย , ก็ให้ค่าได้เท่ากัน

การกรอก b1c จึงมีค่าเท่ากับ 2 แผนกคือแผนก b1 และ แผนก c

แต่หากในเซลล์ใด ๆ ในช่วง E12:E17 มีการกรอกแค่แผนกเดียวเท่านั้น สูตร Sumproduct จะต้องเปลี่ยนใหม่เป็น

=SUMPRODUCT(--($B$3:$B$15=$E12),--($A$3:$A$15=G$11),--ISNUMBER(MATCH($C$3:$C$15,$E$4:$E$9,0)))

Enter > Copy ลงด้านล่าง
ได้ผลตามที่ต้องการและเข้าใจชัดเจนครับ

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