OpenOffice.Org Spreadsheet

วันนี้จำเป็นต้องคำนวณหาผลการเรียนของนักเรียนและคิดเกรดด้วย หากใช้ระบบปฎิบัติการ Microsoft Windows แน่นอนว่าคงจะใช้ Microsoft Excel ในการคำนวณ

เราใช้ฟังก์ชัน if ในการเปรียบเทียบค่าสองค่าใด ๆ โดยมีรูปแบบดังนี้
= IF (ชื่อเซล+เงื่อนไข,เงื่อนไขเป็นจริง,เงื่อนไขเป็นเท็จ)
ตัวอย่างเช่น

= IF (D1=80,"เยี่ยม","แย่")

หมายความว่า ถ้า เซล D1 มีค่าเท่ากับ 80 ให้เซลที่ใส่สูตรนี้จะมีค่า "เยี่ยม" แต่หากไม่เท่ากับ 80 เซลที่ใส่สูตรนี้จะมีค่า "แย่"

หากต้องการเปรียบเทียบหลายเงื่อนไข ก็ให้เปรียบเทียบซ้อนลูปกันไป พูดแล้วมีงงแน่ ๆ ดูตัวอย่างของจริงกันดีกว่าครับ

สูตรการตัดเกรด สำหรับ Microsoft Excel

=IF (D2>80,"4",IF (D2>=75"3.5",IF (D2>=70,"3",IF (D2>=65,"2.5",IF (D2>=60,"2",IF (D2>=55,"1.5",IF (D2>=50,"1","0")))))))


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

=IF (D2<50,"0",IF (D2<55,"1",IF (D2<60,"1.5",IF (D2<65,"2",IF (D2<70,"2.5",IF (D2<75,"3",IF (D2<80,"3.5","4")))))))


เกริ่นนำเสียยาวเลย ผมเพียงจะบอกว่า ใน Microsoft Excel แยกเงื่อนไขและประโยคโดยใช้เครื่องหมาย " , " แต่สำหรับ OpenOffice.Org Spreadsheet ใช้ " ; " เป็นตัวแยก

ตัวอย่างสูตรคำนวณเกรด สำหรับ OpenOffice.Org Spreasheet โดยเปรียบเทียบแบบมากกว่าหรือเท่ากับ

=IF (D2>80;4;IF (D2>=753.5;IF (D2>=70;3;IF (D2>=65;2.5;IF (D2>=60;2;IF (D2>=55;1.5;IF (D2>=50;1;0)))))))


เปรียบเทียบแบบน้อยกว่า

=IF (D2<50;0;IF (D2<55;1;IF (D2<60;1.5;IF (D2<65;2;IF (D2<70;2.5;IF (D2<75;3;IF (D2<80;3.5;4)))))))


เพิ่มเติมอีกนิดสำหรับ OpenOffice.Org หากต้องการนับแบบมีเงื่อนไข ให้ใช้ฟังก์ชัน COUNTIF
ตัวอย่างเช่น

=COUNTIF(E1:E34;"4")


ตัวอย่างข้างต้น สั่งให้นับเซล E1 ถึง E34 ที่มีค่า "4"

เก็บเอาไปลองเล่น OO.O ดูกันครับ

ความคิดเห็น

ยุทธนา แม่นผล กล่าวว่า
อ่า...ทุกทีเลย
โค้ดมีบั๊กนิดหน่อยครับ

แก้ไขจาก
D2>80 เป็น D2>=80
ต้องมากกว่าหรือเท่ากับด้วยครับ
ไม่งั้น 80 คะแนนจะไม่ได้เกรด 4