Page 1 of 2
การบวก และการนับที่มีเงื่อนไข
Posted: Wed Aug 29, 2012 3:37 pm
by วังวู ช่ง
เรียนท่าน อาจารย์ และสะมาชิกทุกท่านครับ ผมติดปัญหาการนับ และการบวกที่มีเงื่อนไขครับคือ E3:L3 ผมต้องกานใช้สูตรคำนวนครับ
ช่วนแนะนำสูตรให้ด้วยครับ
ขอบคุณล่วงหน้าครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Wed Aug 29, 2012 4:24 pm
by snasui

ดูตัวอย่างในไฟล์แนบ ซึ่งผมได้ใช้ Lookup มาช่วยเพื่อสามารถใช้ฟังก์ชั่นง่าย ๆ เช่น Countif, Sumif มาจัดการได้
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Wed Aug 29, 2012 10:10 pm
by วังวู ช่ง
snasui wrote:
ดูตัวอย่างในไฟล์แนบ ซึ่งผมได้ใช้ Lookup มาช่วยเพื่อสามารถใช้ฟังก์ชั่นง่าย ๆ เช่น Countif, Sumif มาจัดการได้
ใช้อย่างนี้ได้ครับ ขอบคุณท่านอาจารย์มากครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Thu Aug 30, 2012 9:01 pm
by snasui

สูตรด้านล่างเป็น
ตัวอย่าง หากไม่ต้องการเพิ่มคอลัมน์และต้องการให้เป็นสูตรเดียวใช้ทั้งนับและรวม
ที่ E3 คีย์
=IF(E2="จำนวน",SUM(--(ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))),SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*$C$2:$C$91))
Ctrl+Shift+Enter > Copy ไปด้านขวา

Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Aug 31, 2012 6:59 am
by วังวู ช่ง
snasui wrote:
สูตรด้านล่างเป็น
ตัวอย่าง หากไม่ต้องการเพิ่มคอลัมน์และต้องการให้เป็นสูตรเดียวใช้ทั้งนับและรวม
ที่ E3 คีย์
=IF(E2="จำนวน",SUM(--(ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))),SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*$C$2:$C$91))
Ctrl+Shift+Enter > Copy ไปด้านขวา

ขอบคุณท่านอาจารย์ครับ แบบนี้ยอดเยี้ยมครับ ดีมากครับ
ขอบคุณมากๆครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Aug 31, 2012 7:08 am
by วังวู ช่ง
ตอนเรียน รู้แต่ sum,sumif, vlookup,lookup, average, max, min, if แต่ตอนนี้มาเหันสูตรของอาจารย์ ทำให้ผมมืดตึบเลียครับ เท่ากับเรียนเลี่มต้นใหม่เลียครับ ถ้าเป็นไปได้ผมขอเลกบัณชีเงินทะนะคานของอาจารย์ได้ไม่ครับ เพาะผมเตัมใจกับ
http://www.snasui.com จิงๆครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Aug 31, 2012 7:35 am
by tahc
ผู้แตกฉานเรื่องฟังชั่นเอ็กเซล..ที่แท้จริงครับ

Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Aug 31, 2012 8:36 am
by snasui
วังวู ช่ง wrote:ตอนเรียน รู้แต่ sum,sumif, vlookup,lookup, average, max, min, if แต่ตอนนี้มาเหันสูตรของอาจารย์ ทำให้ผมมืดตึบเลียครับ เท่ากับเรียนเลี่มต้นใหม่เลียครับ ถ้าเป็นไปได้ผมขอเลกบัณชีเงินทะนะคานของอาจารย์ได้ไม่ครับ เพาะผมเตัมใจกับ
http://www.snasui.com จิงๆครับ

ขอบคุณครับ สำหรับบัญชีธนาคารมีผู้ขออยู่บ่อย ๆ ครับแต่ผมไม่ได้ให้ไป เนื่องจากว่าจะไม่เป็นธรรมกับบุคคลจำนวนมากที่ผมไม่ได้รับน้ำใจจากท่านเหล่านั้น

มีอยู่บางท่านที่ผมขัดไม่ได้ จำเป็นต้องให้ไป เช่น Finance ที่ผมไปขอกู้เงินครับ

เพราะถ้าไม่ให้ไปผมจะไม่ได้รับการพิจารณาให้เป็นลูกค้า จึงต้องจำยอมครับ
ขอขอบคุณในน้ำใจอีกครั้งครับ ผมเขียนสูตรมาเพื่อให้เห็นว่า Excel สามารถที่จะใช้สูตรหาค่าแบบนั้นได้ แต่ควรที่จะใช้สูตรที่ง่าย สามารถเข้าใจได้ แทนที่จะใช้สูตรยาก ๆ ผมสามารถเขียนสูตรซับซ้อนได้เพราะว่าคลุกคลีกับ Excel มาเป็นเวลานาน แต่สำหรับเพื่อนสมาชิกหลายท่านแล้ว ผมแนะนำให้ใช้สูตรง่าย ๆ เพื่อสามารถปรับปรุงเปลี่ยนแปลงและต่อยอดเองได้โดยไม่เดือดร้อนทรมานกับการทำความเข้าใจสูตรครับ

ตัวอย่างการปรับสูตรด้านบนให้สั้นลงครับ ที่ E3 คีย์
=SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*IF(E2="จำนวน",1,$C$2:$C$91))
Ctrl+Shift+Enter
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Sat Sep 01, 2012 10:55 pm
by วังวู ช่ง
snasui wrote:ขอขอบคุณในน้ำใจอีกครั้งครับ ผมเขียนสูตรมาเพื่อให้เห็นว่า Excel สามารถที่จะใช้สูตรหาค่าแบบนั้นได้ แต่ควรที่จะใช้สูตรที่ง่าย สามารถเข้าใจได้ แทนที่จะใช้สูตรยาก ๆ ผมสามารถเขียนสูตรซับซ้อนได้เพราะว่าคลุกคลีกับ Excel มาเป็นเวลานาน แต่สำหรับเพื่อนสมาชิกหลายท่านแล้ว ผมแนะนำให้ใช้สูตรง่าย ๆ เพื่อสามารถปรับปรุงเปลี่ยนแปลงและต่อยอดเองได้โดยไม่เดือดร้อนทรมานกับการทำความเข้าใจสูตรครับ

ตัวอย่างการปรับสูตรด้านบนให้สั้นลงครับ ที่ E3 คีย์
=SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*IF(E2="จำนวน",1,$C$2:$C$91))
Ctrl+Shift+Enter
ขอบคุณท่านอาจารย์ในน้ำใจที่ดีมากๆครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Tue Nov 20, 2012 2:27 pm
by วังวู ช่ง
tahc wrote:ผู้แตกฉานเรื่องฟังชั่นเอ็กเซล..ที่แท้จริงครับ

จิงๆแล้วผมอยากจะให้คนลาวมีน้ำใจอย่างคนไทยนี้เหมือนกัน แต่มาเบิ่งแล้วคงอยากมากครับ ปัญหาอยู่ที่ละดับ, ความรู้ และน้ำใจครับ อย่างไลก่อดี ต้องเพิ่งหาพี่น้องคนไทยทุกๆท่านเลียครับ
ผมก่อชมเชียในน้ำใจพี่น้องคนไทยทุกท่าน ว่าดีจิงๆครับ
ส่วนมากคนลาวมักจะใช้เป็นนับทังผมเองคือ SUM, MAX, MIN, AVERAGE, +, -, *, /, ^
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Thu Dec 20, 2012 1:46 pm
by วังวู ช่ง
วังวู ช่ง wrote:snasui wrote:
=SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$E$1:E$1))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$E$1:E$1),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*IF(E2="จำนวน",1,$C$2:$C$91))
Ctrl+Shift+Enter
เรียน ท่าน อาจารย์ครับ ถ้าไม่รบกวนเกีนไป ขออะธิบายสูตนี้ให้หน่อยได้ไม่ครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Thu Dec 20, 2012 1:57 pm
by snasui

สูตรพวกนี้สามารถอธิบายได้ แต่สิ้นเปลืองเวลาและคิดว่าเข้าใจไม่ง่ายนัก เพราะใช้หลายสูตรและซ้อนกันหลายชั้น ให้พยายามศึกษาแต่ละฟังก์ชั่น ลองทำความเข้าใจมาเรื่อย ๆ ให้ถามมาเฉพาะที่ลองทำความเข้าใจแล้วก็ยังไม่สามารถที่จะเข้าใจได้ครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Thu Dec 20, 2012 2:25 pm
by วังวู ช่ง
snasui wrote:
สูตรพวกนี้สามารถอธิบายได้ แต่สิ้นเปลืองเวลาและคิดว่าเข้าใจไม่ง่ายนัก เพราะใช้หลายสูตรและซ้อนกันหลายชั้น ให้พยายามศึกษาแต่ละฟังก์ชั่น ลองทำความเข้าใจมาเรื่อย ๆ ให้ถามมาเฉพาะที่ลองทำความเข้าใจแล้วก็ยังไม่สามารถที่จะเข้าใจได้ครับ
เรียนท่าน อาจารย์ครับ ผมพะยายามทำกับข้อมูนจิง แต่ทำไม่ได้ครับ ช่วยแก้ไขให้ด้วยครับ
ขอบคุณล่วงหน้าครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Thu Dec 20, 2012 3:27 pm
by snasui

ในกรอบสีน้ำเงินตามภาพเป็นภาษาไทย
ในสูตรก็ต้องเป็นภาษาไทย หากในกรอบสีน้ำเงินเป็นภาษาลาว ในสูตรถึงจะเขียนเป็นภาษาลาว ไม่เช่นนั้นก็จะไม่ได้คำตอบครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Thu Dec 20, 2012 3:49 pm
by bank9597
เพิ่มเติมอีกวิธีครับ
ที่ J7 คีย์ =IF(IFERROR(FIND("<",F7),0)>0,0,IF(IFERROR(FIND("-",F7),0)>0,MID(F7,FIND("-",F7)-2,2),MID(F7,FIND("ปี",F7)-3,2)))+0 คัดลอกลงมา
ที่ K7 คีย์ =IF(IFERROR(FIND("<",F7),0)>0,MID(F7,FIND("<",F7)+1,2),IF(IFERROR(FIND("-",F7),0)>0,MID(F7,FIND("-",F7)+1,2),0))+0 คัดลอกลงมา
ที่ I7 คีย์ =IF(AND(COUNTIF($J7:$K7,0)<>0,J7=0),SUMPRODUCT(--($C$2:$C$91<K7),$D$2:$D$91),IF(AND(COUNTIF($J7:$K7,0)<>0,K7=0),SUMPRODUCT(--($C$2:$C$91>=J7),$D$2:$D$91),SUMPRODUCT(--($C$2:$C$91>=J7),--($C$2:$C$91<=K7),$D$2:$D$91))) คัดลอกลงมา
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Dec 21, 2012 10:51 am
by วังวู ช่ง
ขอบคุณท่าน อาจารย์ และท่าน bank9597 มากในกานช่วยเหลือทุกๆครั้งผ่านมาครับ รบกวนอีกครับ
1. ถ้าใช้สูคของอาจารย์แล้วในตาราง 2 ผนออกไม่ตรงไม่ทราบว่าผมต้องปรับสูตของอาจารย์อย่างไล
{=SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$F7))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$F7),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$F7),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*IF($G$6="จำนวน",1,$D$2:$D$91))}
2. สูตของท่าน bank9597 ถ้าต้องกานให้เป็นแบบ P7:P11 จะปรับอย่างไลครับ ผมพะยายามปรับแต่ไม่ได้ครับ
ขอบคุณล่วงหน้าครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Dec 21, 2012 11:36 am
by bank9597

ที่ N7 คีย์ =TRIM(SUBSTITUTE(SUBSTITUTE(F7,"0","")," <","น้อยกว่า")) คัดลอกลงมา
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Fri Dec 21, 2012 12:41 pm
by วังวู ช่ง
bank9597 wrote:
ที่ N7 คีย์ =TRIM(SUBSTITUTE(SUBSTITUTE(F7,"0","")," <","น้อยกว่า")) คัดลอกลงมา
ขอบคุณมากครับท่านอาจารย์ bank9597 ได้คำตอบถูกต้องแล้วครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Sun Dec 23, 2012 8:18 pm
by วังวู ช่ง
{=SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$F7))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$F7),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$F7),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*IF($G$6="จำนวน",1,$D$2:$D$91))}
ผมปรับสูตของอาจารย์นี้เข้าในตาราง 1 ให้ออกแบบตาราง 2 ไม่เป็นครับ ช่วยด้วยครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Sun Dec 23, 2012 8:36 pm
by snasui

อายุการควรเขียนให้สื่อถึงความเป็นจริงครับ เลือกใช้สักอันระหว่าง
อายุ <01 ปี กับ
อายุ 1-5 ปี เพราะการเขียนสูตรจะไม่เหมือนกัน
จากที่ถามมา เซลล์ G7 คีย์สูตร
=SUM((ISNUMBER(MATCH($C$2:$C$91,IF(ISNUMBER(SEARCH("-",LOOKUP(CHAR(255),$F7))),ROW(INDIRECT(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$F7),"อายุ",""),"ปี",""),"-",":"))),ROW(INDIRECT(TRIM(SUBSTITUTE(SUBSTITUTE(LOOKUP(CHAR(255),$F7),"อายุ",""),"ปีขื้นไป",""))&":100"))),0)))*IF(
G$6="จำนวน",1,$D$2:$D$91))
Ctrl+Shift+Enter > Copy ไปทางขวาและลงด้านล่าง สังเกตการใช้
$ ที่ G6 ในสูตรด้านบนครับ
