: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

สอบถามสูตร นับช่วงอายุ

ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
sert
Member
Member
Posts: 8
Joined: Wed Apr 29, 2020 8:46 pm

สอบถามสูตร นับช่วงอายุ

#1

Post by sert »

รบกวนอาจารย์ และผู้รู้ช่วยหน่อยครับ
ผมต้องการที่จะเขียนสูตรนับช่วงอายุ โดยมีเพศเป็นเงื่อนไข
1 ที่ Sheet"ช่วงอายุ" คอลัมน์ B และคอลัมน์ D ให้นับจำนวน ตามช่วงอายุตามเงื่อนไข ที่คอลัมน์ A
ซึ่งข้อมูลอยู่ที่ Sheet "ข้อมูล" ดังตัวอย่างที่นับเอง คือ ช่วงอายุ 50-54 ปี เพศ ชาย 1 คน หญิง 1 คน
ขอขอบพระคุณล่วงหน้า
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: สอบถามสูตร นับช่วงอายุ

#2

Post by puriwutpokin »

ที่ B2:C2=COUNTIFS(ข้อมูล!$C$2:$C$29,">="&LEFT($A2,FIND("-",SUBSTITUTE($A2,"+","-"))-1),ข้อมูล!$C$2:$C$29,"<="&IFERROR(--RIGHT($A2,FIND("-",$A2)-1),100),ข้อมูล!$B$2:$B$29,SUBSTITUTE(B$1,"เพศ",""))
:shock: :roll: :D
sert
Member
Member
Posts: 8
Joined: Wed Apr 29, 2020 8:46 pm

Re: สอบถามสูตร นับช่วงอายุ

#3

Post by sert »

ขออนุญาติเพิ่มเติม หน่อยครับ คือ
ต้องการให้นับ sheet "ข้อมูล" ที่คอลัมน์ รหัส ว่ามีในช่วงอายุนี้มีจำนวนเท่าไรครับ เช่น ที่ รหัส C000 มีช่วงอายุ 55-59 จำนวน 1 คน
ผมต้องขออภัยที่ ถามหลายรอบ ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: สอบถามสูตร นับช่วงอายุ

#4

Post by puriwutpokin »

sert wrote: Mon Jun 29, 2020 4:01 pm ขออนุญาติเพิ่มเติม หน่อยครับ คือ
ต้องการให้นับ sheet "ข้อมูล" ที่คอลัมน์ รหัส ว่ามีในช่วงอายุนี้มีจำนวนเท่าไรครับ เช่น ที่ รหัส C000 มีช่วงอายุ 55-59 จำนวน 1 คน
ผมต้องขออภัยที่ ถามหลายรอบ ครับ
ไฟล์เดิมไม่มีรหัส อัพเดตไฟล์ตัวอย่างมาดูครับ
:shock: :roll: :D
sert
Member
Member
Posts: 8
Joined: Wed Apr 29, 2020 8:46 pm

Re: สอบถามสูตร นับช่วงอายุ

#5

Post by sert »

แนบไฟล์ใหม่ครับ
You do not have the required permissions to view the files attached to this post.
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: สอบถามสูตร นับช่วงอายุ

#6

Post by puriwutpokin »

ปรับที่ B2=COUNTIFS(ข้อมูล!$D$2:$D$29,">="&LEFT(B$1,FIND("-",SUBSTITUTE(B$1,"+","-"))-1),ข้อมูล!$D$2:$D$29,"<="&IFERROR(--RIGHT(B$1,FIND("-",B$1)-1),100),ข้อมูล!$B$2:$B$29,$A2)
:shock: :roll: :D
sert
Member
Member
Posts: 8
Joined: Wed Apr 29, 2020 8:46 pm

Re: สอบถามสูตร นับช่วงอายุ

#7

Post by sert »

ขอขอบคุณมาก ครับ
linzhengli
Bronze
Bronze
Posts: 349
Joined: Wed Mar 01, 2017 9:15 am
Excel Ver: 2003

Re: สอบถามสูตร นับช่วงอายุ

#8

Post by linzhengli »

ขอความอนุเคราะห์สูตรข้างต้นเป็น excel2003 บ้างครับ และขอบคุณมา ณ โอกาสนี้
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: สอบถามสูตร นับช่วงอายุ

#9

Post by puriwutpokin »

linzhengli wrote: Tue Jun 30, 2020 1:51 pm ขอความอนุเคราะห์สูตรข้างต้นเป็น excel2003 บ้างครับ และขอบคุณมา ณ โอกาสนี้
สำหรับ 2003 ที่ B3=SUMPRODUCT(--(ข้อมูล!$D$2:$D$29>=--LEFT(B$1,FIND("-",SUBSTITUTE(B$1,"+","-"))-1)),--(ข้อมูล!$D$2:$D$29<=IFERROR(--RIGHT(B$1,FIND("-",B$1)-1),100)),--(ข้อมูล!$B$2:$B$29=$A2))
:shock: :roll: :D
linzhengli
Bronze
Bronze
Posts: 349
Joined: Wed Mar 01, 2017 9:15 am
Excel Ver: 2003

Re: สอบถามสูตร นับช่วงอายุ

#10

Post by linzhengli »

สูตรนี้ยังไม่อ่านค่าครับ เหมือนในสูตรยังมีคำว่า IFERROR ไม่ทราบว่าจะเกี่ยวข้องหรือไม่ครับ
User avatar
puriwutpokin
Guru
Guru
Posts: 3801
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: สอบถามสูตร นับช่วงอายุ

#11

Post by puriwutpokin »

ปรับเป็น =SUMPRODUCT(--(ข้อมูล!$D$2:$D$29>=--LEFT(B$1,FIND("-",SUBSTITUTE(B$1,"+","-"))-1)),--(ข้อมูล!$D$2:$D$29<=--TEXT(RIGHT(B$1,FIND("-",SUBSTITUTE(B$1,"+","-"))-1),"0;;;\1\0\0")),--(ข้อมูล!$B$2:$B$29=$A2))
:shock: :roll: :D
User avatar
Bo_ry
Gold
Gold
Posts: 1245
Joined: Sun Aug 12, 2018 12:11 am
Excel Ver: MS 365
Contact:

Re: สอบถามสูตร นับช่วงอายุ

#12

Post by Bo_ry »

อีกแบบ
B2
=COUNTIFS(ข้อมูล!$B$2:$B$29,$A2,ข้อมูล!$D$2:$D$29,">="&LEFT(SUBSTITUTE(B$1,"-"," "),2))-SUM(C2:$T2)

หรือ 2003
B2
=INDEX(FREQUENCY(IF(ข้อมูล!$B$2:$B$29=$A2,ข้อมูล!$D$2:$D$29),--MID(SUBSTITUTE($B$1:$R$1,"-"," "),4,3)),COLUMNS($B2:B2))
กด Ctrl+Shift+Enter
You do not have the required permissions to view the files attached to this post.
linzhengli
Bronze
Bronze
Posts: 349
Joined: Wed Mar 01, 2017 9:15 am
Excel Ver: 2003

Re: สอบถามสูตร นับช่วงอายุ

#13

Post by linzhengli »

ขอบคุณในคำตอบของทุกท่านครับ
Post Reply