Page 1 of 1

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

Posted: Mon Jun 29, 2020 2:10 pm
by sert
รบกวนอาจารย์ และผู้รู้ช่วยหน่อยครับ
ผมต้องการที่จะเขียนสูตรนับช่วงอายุ โดยมีเพศเป็นเงื่อนไข
1 ที่ Sheet"ช่วงอายุ" คอลัมน์ B และคอลัมน์ D ให้นับจำนวน ตามช่วงอายุตามเงื่อนไข ที่คอลัมน์ A
ซึ่งข้อมูลอยู่ที่ Sheet "ข้อมูล" ดังตัวอย่างที่นับเอง คือ ช่วงอายุ 50-54 ปี เพศ ชาย 1 คน หญิง 1 คน
ขอขอบพระคุณล่วงหน้า

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

Posted: Mon Jun 29, 2020 2:59 pm
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,"เพศ",""))

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

Posted: Mon Jun 29, 2020 4:01 pm
by sert
ขออนุญาติเพิ่มเติม หน่อยครับ คือ
ต้องการให้นับ sheet "ข้อมูล" ที่คอลัมน์ รหัส ว่ามีในช่วงอายุนี้มีจำนวนเท่าไรครับ เช่น ที่ รหัส C000 มีช่วงอายุ 55-59 จำนวน 1 คน
ผมต้องขออภัยที่ ถามหลายรอบ ครับ

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

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

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

Posted: Tue Jun 30, 2020 9:01 am
by sert
แนบไฟล์ใหม่ครับ

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

Posted: Tue Jun 30, 2020 9:13 am
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)

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

Posted: Tue Jun 30, 2020 10:02 am
by sert
ขอขอบคุณมาก ครับ

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

Posted: Tue Jun 30, 2020 1:51 pm
by linzhengli
ขอความอนุเคราะห์สูตรข้างต้นเป็น excel2003 บ้างครับ และขอบคุณมา ณ โอกาสนี้

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

Posted: Tue Jun 30, 2020 2:54 pm
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))

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

Posted: Tue Jun 30, 2020 4:24 pm
by linzhengli
สูตรนี้ยังไม่อ่านค่าครับ เหมือนในสูตรยังมีคำว่า IFERROR ไม่ทราบว่าจะเกี่ยวข้องหรือไม่ครับ

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

Posted: Tue Jun 30, 2020 4:59 pm
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))

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

Posted: Tue Jun 30, 2020 5:45 pm
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

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

Posted: Wed Jul 01, 2020 9:06 pm
by linzhengli
ขอบคุณในคำตอบของทุกท่านครับ