: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
walrus
Member
Member
Posts: 38
Joined: Sat Feb 25, 2012 4:01 pm

ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#1

Post by walrus »

:idea: ปกติใช้สูตร Countif อยู่เพื่อแยกจำนวนในแต่ละแผนกว่ามีจำนวนเท่าใด

แต่ตอนนี้พยายาม แยกไปอีกว่า ในแต่ละแผนกมีแต่ละสัญชาติเท่าไหร่ อยู่ในแต่ละ SHIFT เท่าไหร่ และหักจากคนที่มี status ว่าลาออก ออกไปด้วยครับ
ดังไฟล์ตัวอย่างเลยครับ ที่ไฮไลต์เหลืองไว้คือผลลัพธ์ที่ต้องการให้สูตรแสดงออกมาครับ
รบกวนหน่อยนะครับ พยายามคิดเท่าไหร่ก็ไม่ได้สักทีครับ :cry:
Q-Count.xlsx
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#2

Post by bank9597 »

:D เงื่อนไขค่อนข้างเยอะครับ

ผมลองเขียนสูตรหาคำตอบ โดยขั้นตอนแรกทำการยกเลิกการ Merge เซลล์ J3:J9 ก่อนครับ

ที่ L3 คีย์
=SUM(IF($B$3:$B$13=$J3,IF($C$3:$C$13=$K3,IF($D$3:$D$13=TRIM(SUBSTITUTE(L$2,LEFT(L$2,FIND(" ",L$2)),"")),1))))-SUM(IF($B$3:$B$13=$J3,IF($C$3:$C$13=$K3,IF($D$3:$D$13=TRIM(SUBSTITUTE(L$2,LEFT(L$2,FIND(" ",L$2)),"")),IF($E$3:$E$13="ลาออก",1)))))
กด Ctrl+Shift+Enter คัดลอกไปทางขวามือ แล้วคัดลอกลงล่างพร้อมกัน :D

ปล. คำตอบเดิมของผู้ถาม ผิดอยู่หรือเปล่าครับ ผมนับด้วยมือแล้วนำมาเีทียบดู ผมคิดว่าน่าจะผิดครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
walrus
Member
Member
Posts: 38
Joined: Sat Feb 25, 2012 4:01 pm

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#3

Post by walrus »

ขอบคุณมากๆครับ เงื่อนไขเยอะจริงๆหล่ะครับ :D
แต่การมานั่งหยอดตัวเลขเองทำให้ผิดพลาดมาอย่างที่ท้วงผมมาเลยครับ :tt:

ขอถามเพิ่มครับ ทำไมถึง Merge ไม่ได้ครับ ในเมื่อค่าที่ Merge นั่นเท่ากันอยู่ดีครับ :?:
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#4

Post by snasui »

:D Merge Cells ได้ครับ แต่จะส่งผลให้ต้องใช้สูตรยากขึ้นเรื่อย ๆ

ยกตัวอย่างอีกสูตรไม่ต้องปลด Merge Cells ที่ L3 คีย์

=SUMPRODUCT(--(LOOKUP(CHAR(255),$J$3:$J3)=$B$3:$B$12),--(SUBSTITUTE(L$2,"SHIFT ","")=$D$3:$D$12),--($C$3:$C$12=$K3),--($E$3:$E$12<>"ลาออก"))

Enter > Copy ไปทางขวาและลงด้านล่าง
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#5

Post by bank9597 »

snasui wrote::D Merge Cells ได้ครับ แต่จะส่งผลให้ต้องใช้สูตรยากขึ้นเรื่อย ๆ

ยกตัวอย่างอีกสูตรไม่ต้องปลด Merge Cells ที่ L3 คีย์

=SUMPRODUCT(--(LOOKUP(CHAR(255),$J$3:$J3)=$B$3:$B$12),--(SUBSTITUTE(L$2,"SHIFT ","")=$D$3:$D$12),--($C$3:$C$12=$K3),--($E$3:$E$12<>"ลาออก"))

Enter > Copy ไปทางขวาและลงด้านล่าง
สูตรอาจารย์สั้นกว่าเยอะครับ แนะนำผู้ถามสามารถใช้สูตรของอาจารย์เลยครับ :lol:
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
walrus
Member
Member
Posts: 38
Joined: Sat Feb 25, 2012 4:01 pm

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#6

Post by walrus »

ขอบคุณมากครับ ตอนนี้เริ่มใช้งานได้บ้างแล้วครับ กำลังนั่งทำความเข้าใจเพิ่มเติม :mrgreen:

ตอนนี้ผมใช้สูตรตามอาจารย์หน่ะครับ แต่สูตรที่คุณ bank9597 เขียนมาไม่สูญเปล่าแน่ๆครับ ทำให้ผมได้รู้อะไรเพิ่มเติม ยังไงก็ขอบคุณมากมากนะครับ
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#7

Post by bank9597 »

:D ดีแล้วครับ ผมหาคำตอบได้ แต่ไม่รู้หรอกว่ามันถูกหลักการแค่ไหนอย่างไร อีกทั้ง เป็นอยู่แค่ไม่กี่สูตร :lol: :lol:
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
nopanan
Member
Member
Posts: 93
Joined: Fri May 21, 2010 12:48 am

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#8

Post by nopanan »

ขอแจมหน่อยครับ อยากทราบว่าถ้าเปลี่ยนจากการใช้ Sumproduct ของอาจารย์มาใช้ Sumifs แทนได้ไหมครับและใช้อย่างไรครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#9

Post by snasui »

กรณีใช้ Countifs สามารถใช้สูตรที่เซลล์ L3 ตามด้านล่างครับ

=COUNTIFS($B$3:$B$12,LOOKUP(CHAR(255),$J$3:$J3),$D$3:$D$12,SUBSTITUTE(L$2,"SHIFT ",""),$C$3:$C$12,$K3,$E$3:$E$12,"<>ลาออก")

Enter > Copy ไปด้านขวาและลงด้านล่าง :mrgreen:
nopanan
Member
Member
Posts: 93
Joined: Fri May 21, 2010 12:48 am

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#10

Post by nopanan »

snasui wrote:กรณีใช้ Countifs สามารถใช้สูตรที่เซลล์ L3 ตามด้านล่างครับ

=COUNTIFS($B$3:$B$12,LOOKUP(CHAR(255),$J$3:$J3),$D$3:$D$12,SUBSTITUTE(L$2,"SHIFT ",""),$C$3:$C$12,$K3,$E$3:$E$12,"<>ลาออก")

Enter > Copy ไปด้านขวาและลงด้านล่าง :mrgreen:
ทำไมต้องมี lookup(char(255) ด้วยครับเพราะ ข้อความเหมือนกัน
User avatar
snasui
Site Admin
Site Admin
Posts: 31178
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 2019
Contact:

Re: ถามเรื่องสูตรการนับจำนวน โดยมีการแยกประเภทครับ

#11

Post by snasui »

:D เนื่องจากเป็นข้อความที่ไม่ต่อเนื่องมีการเว้นเอาไว้ Lookup(Char(255),Range) จะหาข้อความตัวสุดท้ายใน Range

สามารถทดสอบโดยเปลี่ยน Char(255) เป็น =Lookup(Cell,Range) แล้วสังเกตดูผลครับ
Post Reply