Page 2 of 2
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Sun Dec 23, 2012 8:45 pm
by วังวู ช่ง
snasui wrote:
อายุการควรเขียนให้สื่อถึงความเป็นจริงครับ เลือกใช้สักอันระหว่าง
อายุ <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 ในสูตรด้านบนครับ

ได้คำตอบตามต้องกานขอบคุณท่านอาจารย์มากๆครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Mon Dec 24, 2012 9:01 am
by norkaz
ตรงนี้
=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))
คุณ คนควน ตัดเงื่อนไข IF จากด้านหน้าไปไว้ด้านหลัง บังคับให้ "คูณ" กดเป็น Array ทำให้สูตรกระชับลงได้คลาสสิค สุดยอดระดับ
เซียนเรียกพี่ ผีเรียกพ่อ จริงๆ!!
การเข้าใจในเรื่อง กล Array ผลคูณแบบนี้ คงหาคนที่สองไม่ได้อีกแล้วครับ
สวัสดีปีหน้าครับ
นับถือ
Norkaz
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Mon Dec 24, 2012 11:04 am
by snasui

ขอบคุณ คุณ norkaz ที่มาช่วยขยายความ เพื่อน ๆ จะได้ทราบลักษณะของการประยุกต์พลิกแพลงไปด้วย
ขอขอบคุณสำหรับคำชมและสวัสดีปี 2556 ครับ
Re: การบวก และการนับที่มีเงื่อนไข
Posted: Mon Dec 24, 2012 9:27 pm
by วังวู ช่ง
snasui wrote:
อายุการควรเขียนให้สื่อถึงความเป็นจริงครับ เลือกใช้สักอันระหว่าง
อายุ <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 ในสูตรด้านบนครับ

ผมจะสึกสาดู เป็นไงจะแจ้งให้อีกทีครับ