If ที่ไม่ต้องใช้สูตร If


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

กรณีห้ามนำค่าที่ต่ำกว่า 0 ในเซลล์ A1 ไปใช้

=If( A1<=0, 0, A1)

กรณีห้ามนำค่าที่เกินกว่า 100 ในเซลล์ A1 ไปใช้

=If( A1>=100, 100, A1)

แทนที่จะใช้สูตร If ซึ่งต้องเสียเวลากำหนดทั้งเงื่อนไขและผลลัพธ์ที่ต้องการซ้ำลงไปในสูตร If ให้เปลี่ยนมาใช้สูตร Max หรือ Min แทน โดยให้ยึดหลักว่า

ถ้าต้องการควบคุมค่า ไม่ให้ต่ำกว่า ให้ใช้สูตร Max
ถ้าต้องการควบคุมค่า ไม่ให้สูงกว่า ให้ใช้สูตร Min

จำง่ายๆว่า ให้ใช้สูตรที่ตรงกันข้ามกับทิศทางของการควบคุม ทิศต่ำกลับใช้ Max ส่วนทิศสูงกลับใช้สูตร Min

กรณีห้ามนำค่าที่ต่ำกว่า 0 ในเซลล์ A1 ไปใช้

=Max(0, A1)

กรณีห้ามนำค่าที่เกินกว่า 100 ในเซลล์ A1 ไปใช้

=Min(100, A1)

นอกจากนี้ยังสามารถใช้สูตรคูณมาบวกกันธรรมดา คำนวณได้คำตอบแบบเดียวกันได้อีก

กรณีห้ามนำค่าที่ต่ำกว่า 0 ในเซลล์ A1 ไปใช้

=(A1<=0)*0 + (A1>0)*A1

กรณีห้ามนำค่าที่เกินกว่า 100 ในเซลล์ A1 ไปใช้

=(A1>100)*0 +(A1<=100)*100

สูตรคำนวณแบบนี้ใช้หลักว่า เมื่อนำค่ามาตรวจสอบเงื่อนไขใส่ไว้ในวงเล็บ (โดยไม่จำเป็นต้องอาศัยสูตร If) ถ้าเงื่อนไขเป็นจริง เมื่อนำไปคำนวณต่อ Excel จะถือว่ามีค่าเท่ากับ 1 แต่ถ้าเงื่อนไขเป็นเท็จ เมื่อนำไปคำนวณต่อ Excel จะถือว่ามีค่าเท่ากับ 0

แบบสูตรจะดูว่ายาวกว่าสูตร If Max หรือ Min ก็ตาม แต่ถ้ามีเงื่อนไขซับซ้อนมากขึ้น จะกลายเป็นสูตรที่สั้นกว่า เช่น หากต้องการตรวจสอบว่า ถ้า A1 มีค่าเป็นตัวอักษร A, B, C, D, E, F, G, H, I, J, K, L, หรือ M แล้วให้สูตร If คืนค่าเป็นตัวเลข 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, หรือ 13 ตามลำดับ ต้องใช้สูตร If ต่อกัน ดังนี้

=IF(A1="A",1,IF(A1="B",2,IF(A1="C",3,IF(A1="D",4, IF(A1="E",5,IF(A1="F",6,IF(A1="G",7,IF(A1="H",8,
0))))))))
+IF(A1="I",9,IF(A1="J",10,IF(A1="K",11,IF(A1="L",12, IF(A1="M",13,0)))))

เมื่อปรับใหม่กลายเป็นสูตรสั้นลง และมีโครงสร้างซึ่งสามารถปรับแก้ไขได้ง่ายขึ้น

=(A1="A")*1+(A1="B")*2+(A1="C")*3+(A1="D")*4 +(A1="E")*5+(A1="F")*6+(A1="G")*7+(A1="H")*8
+(A1="I")*9+(A1="J")*10+(A1="K")*11+(A1="L")*12 +(A1="M")*13

คำสำคัญ (Tags): #if
หมายเลขบันทึก: 319135เขียนเมื่อ 9 ธันวาคม 2009 15:47 น. ()แก้ไขเมื่อ 22 มิถุนายน 2012 14:34 น. ()สัญญาอนุญาต: ครีเอทีฟคอมมอนส์แบบ แสดงที่มา-ไม่ใช้เพื่อการค้า-อนุญาตแบบเดียวกันจำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (0)

ไม่มีความเห็น

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท