Page 1 of 1

ใช้ IF เกินกว่า 7 ครั้ง

Posted: Tue May 18, 2010 11:55 am
by joo
สวัสดีครับ
มีปัญหาการใช้ IF เกินกว่า 7 ครั้งครับ ผมใช้ + เป็นตัวเชื่อมแต่ค่าที่ได้มันไม่ตรงครับ ดูที่ F18 ครับ แล้วถ้าไม่มีข้อมูลมันจะขึ้น #DIV/O! ตรงนี้ไม่อยากให้โชว์ทำได้ไหมครับ :)

Re: ใช้ IF เกินกว่า 7 ครั้ง

Posted: Tue May 18, 2010 7:19 pm
by snasui
:D ช่วยระบุเงื่อนไขมาให้ได้ไหมครับว่ามีเงื่อนไขเป็นอย่างไรบ้าง เผื่อว่าจะใช้ฟังก์ชั่นอื่นแทน IF ได้ หรือถ้าใช้ IF ก็จะช่วยดูให้ว่าสามารถเขียนให้กระชับขึ้นได้หรือไม่ครับ? :mrgreen:

Re: ใช้ IF เกินกว่า 7 ครั้ง

Posted: Tue May 18, 2010 10:57 pm
by joo
เงื่อนไขมันจะอยู่ที่ sheet1 และ sheet2 ครับ โดยนำมาคิดแบบอัตราก้าวหน้าครับ ตัวอย่างใหม่ตามไฟล์แนบครับ :)

Re: ใช้ IF เกินกว่า 7 ครั้ง

Posted: Wed May 19, 2010 4:46 pm
by snasui
:D ลองดูตัวอย่างการใช้สูตรตามไฟล์แนบครับ

ซึ่งใน Sheet ธุรกิจขนาดเล็กต้องไปกำหนดค่าเพิ่มเติมเพื่อแจกแจก Rate, Step ค่าน้ำ และ ค่าน้ำสะสมแต่ละ Step :mrgreen:

Re: ใช้ IF เกินกว่า 7 ครั้ง

Posted: Thu May 20, 2010 8:15 am
by joo
ขอบคุณครับที่แนะนำ แต่ก็ยังไม่ตรงกับที่ต้องการครับ คือว่าที่ Sheet3 เมื่อคีย์ค่าเลขมิเตอร์ที่อ่านครั้งก่อนและหลังแล้วให้สูตรมันคำนวณให้เลยครับไม่ต้องให้ไปลิงค์กับ sheet อื่นๆ คือให้สูตรอยู่ในตัวเสร็จ อย่างการใช้น้ำประปาบ้านพักอาศัย ตรง cell B7:M7 ใช้ If อย่างเดียวประมาณ 8 ครั้งตรงนี้ ok ครับ แต่พอมาทำที่การใช้นำ้ประปาธุรกิจขนาดเล็ก ตรง cell ฺ18:M18 ค่าตัวแปรมันมากขึ้น ก็เลยใช่ If มากกว่า 8 ครั้งไม่ได้ลองเชื่อมด้วย + ตาม cell F18 ค่าที่คำนวณได้จะผิดพลาด เมื่อนำไปเทียบกับค่าที่ได้จาก sheetธุรกิจขนาดเล็ก ตรงนี้ครับมันมีวิธีเชื่อม If อย่างไงให้ค่าที่คำนวณได้ออกมาตรงที่สุดครับ :roll:

Re: ใช้ IF เกินกว่า 7 ครั้ง

Posted: Thu May 20, 2010 10:05 am
by snasui
:D กรณีจำเป็นต้องใช้ฟังก์ชั่น IF ลองตามนี้ ซึ่งผมจะคงรูปแบบการคีย์แบบเดิมไว้ครับ

ที่ Sheet3 เซลล์ B18 คีย์

=IF(B17<=5,100,IF(B17<=10,(B17)*11.45,IF(B17<=20,((B17)-10)*14.2+114.5,IF(B17<=30,((B17)-20)*15.45+114.5+142,IF(B17<=50,((B17)-30)*16.45+114.5+142+154.5,IF(B17<=80,((B17)-50)*16.85+114.5+142+154.5+329,IF(B17<=100,((B17)-80)*16.95+114.5+142+154.5+329+505.5,IF(B17<=300,((B17)-100)*17.05+114.5+142+154.5+329+505.5+339))))))))+IF(B17<=300,0,IF(B17<=1000,((B17)-300)*17.15+114.5+142+154.5+329+505.5+339+3410,IF(B17<=2000,((B17)-1000)*17.25+114.5+142+154.5+329+505.5+339+3410+12005,IF(B17<=3000,((B17)-2000)*17.35+114.5+142+154.5+329+505.5+339+3410+12005+17250,IF(B17>3000,(B17)*17.45+114.5+142+154.5+329+505.5+339+3410+12005+17250+17350)))))

Enter > Copy ไปทางด้านขวา :mrgreen:

Note:
1. สูตรที่ดีเขียนที่เซลล์เดียวให้ครบทุกเงื่อนไข แล้วสามารถที่จะ Copy ไปใช้ในเซลล์อื่นที่มีลักษณะการคำนวณเหมือนกันได้เลย
2. สามารถเขียนสูตรได้เพียงไม่เกิน 1,024 อักขระ ดังนั้นควรเขียนให้กระชับเท่าที่จะทำได้โดยไม่จำเป็นต้องยึดกับฟังก์ชั่นใดฟังก์ชั่นหนึ่ง

Re: ใช้ IF เกินกว่า 7 ครั้ง

Posted: Thu May 20, 2010 6:18 pm
by joo
OK ขอบคุณครับ ตรงกับความต้องการเลยครับ นึกไม่ถึงว่าต้องหลอกสูตรซ้ำอีกขั้นตอนหนึ่งก่อนถึงจะใช้ได้คำนวณออกมาได้ตรงครับ มีบรรทัด If ตัวสุดท้ายต้องแก้ใหม่ครับถ้าตังเลขเกิน 3000 ขึ้นไปค่าที่คำนวณได้จะผิดไปมากต้องแก้ไขใหม่เป็นแบบนี้ครับ
=IF(B17<=5,100,IF(B17<=10,(B17)*11.45,IF(B17<=20,((B17)-10)*14.2+114.5,IF(B17<=30,((B17)-20)*15.45+114.5+142,IF(B17<=50,((B17)-30)*16.45+114.5+142+154.5,IF(B17<=80,((B17)-50)*16.85+114.5+142+154.5+329,IF(B17<=100,((B17)-80)*16.95+114.5+142+154.5+329+505.5,IF(B17<=300,((B17)-100)*17.05+114.5+142+154.5+329+505.5+339))))))))+IF(B17<=300,0,IF(B17<=1000,((B17)-300)*17.15+114.5+142+154.5+329+505.5+339+3410,IF(B17<=2000,((B17)-1000)*17.25+114.5+142+154.5+329+505.5+339+3410+12005,IF(B17<=3000,((B17)-2000)*17.35+114.5+142+154.5+329+505.5+339+3410+12005+17250,IF(B17>3000,((B17)-3000)*17.45+114.5+142+154.5+329+505.5+339+3410+12005+17250+17350))))) :mrgreen: :lol: