Sunday, December 30, 2018

My GPA created by Google Sheets



My GPA




แถวที่ใช้ในการคำนวณค่าต่าง ๆ ของแต่ละภาคการศึกษา จะใช้เครื่องหมายดอกจันทน์ละไว้ในคอลัมน์ รหัสวิชา, ชื่อวิชา, หน่วยกิต และตอนเรียน โดยจะมีรหัสประจำตัวนักศึกษา ปีการศึกษา และภาคการศึกษากำกับอยู่

การแสดงตัวอย่าง จะใช้ค่าในปีการศึกษา 2017 ภาคการศึกษาที่ 1 ในการคำนวณ

การคำนวณค่าเกรดและเกรดเฉลี่ย

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

การคำนวณค่าเกรด (grade)

ใช้สูตรดังนี้

=AVERAGE.WEIGHTED(SWITCH(H22:H28, "A", 4, "B+", 3.5, "B", 3, "C+", 2.5, "C", 2, "D+", 1.5, "D", 1, "F", 0, "W", ""), D22:D28)

SWITCH จะเป็นการตรวจสอบค่าเป้าหมาย หากตรงกับเงื่อนไข จะส่งออกค่าตามเงื่อนไขที่ระบุ ในที่นี่ ให้ตรวจสอบค่าเกรดที่เป็นตัวอักษร ที่อยู่ในช่วง H22:H28 แล้วส่งออกค่าที่เป็นตัวเลขออกมา โดยจากตารางจะได้ค่าเป็น ["C", "C", D", "B", "F", "F", "A"] => [2, 2, 1, 3, 0, 0, 4]

AVERAGE.WEIGHTED เป็นการคำนวณค่าเฉลี่ยเลขคณิตแบบถ่วงน้ำหนัก โดยจะใช้ค่าที่ได้ในฟังก์ชัน SWITCH มาคำนวณกับค่าที่อยู่ในช่วง D22:D28 ซึ่งก็คือน้ำหนักหน่วยกิตนั่นเอง ในที่นี้กำหนดให้อยู่ในรูปทศนิยม 6 ตำแหน่ง

ดังนั้นจึงได้ผลลัพธ์เท่ากับ 1.578947 ในเซลล์ H21

การคำนวณค่าเกรดเฉลี่ย (GPA)

จะนำเกรดที่คำนวณได้มาตัดทศนิยมให้เหลือ 2 ตำแหน่ง โดยปัดเศษลง ในที่นี้ใช้สูตร

=ROUNDDOWN(H21, 2)

ROUNDDOWN เป็นการส่งออกค่าเป้าหมายให้จำกัดอยู่ในรูปตำแหน่งทศนิยมที่ระบุ โดยปัดเศษลงทั้งหมด ในที่นี้ ให้อยู่ในรูปทศนิยมสองตำแหน่ง

ผลลัพธ์จึงเท่ากับ 1.57 ในเซลล์ I21

การคำนวณค่าหน่วยกิตที่ลง (r_weight)

ในที่นี้ใช้สูตร

=SUM(FILTER(D22:D28, H22:H28 <> "W"))

FILTER เป็นการส่งออกค่าของแต่ละเซลล์ในแต่ละแถวที่เป็นไปตามเงื่อนไขที่อยู่ในเซลล์ที่ระบุ ในรูปของอาร์เรย์ ในที่นี้ จะส่งออกค่าในช่วง D22:D28 หากค่าในช่วง H22:H28 ไม่เท่ากับ "W" หากมีเซลล์ใดที่อยู่ในช่วงที่ระบุ ไม่เป็นไปตามเงื่อนไข ฟังก์ชันนี้จะไม่ส่งออกค่าในเซลล์นั้น ๆ ซึ่งในที่นี้ ไม่มีค่า "W" ในช่วง H22:H28 ดังนั้นจึงส่งออกค่าทุกค่าในช่วง D22:D28 => [3, 3, 3, 1, 3, 3, 3]

SUM เป็นฟังก์ชันหาผลรวมของค่าที่อยู่ในช่วงที่ระบุ ในที่นี้ จะนำค่าที่ได้จากฟังก์ชัน FILTER มาคำนวณ SUM([3, 3, 3, 1, 3, 3, 3])

ผลลัพธ์จึงเท่ากับ 19 ในเซลล์ J21

การคำนวณค่าหน่วยกิตที่ลงสะสม (cum_r_weight)

มีสูตรดังนี้

=K12+J21

จะเห็นได้ว่าเป็นผลรวมของค่าหน่วยกิตที่ลงสะสมของภาคการศึกษาก่อนหน้า (เซลล์ K12) กับค่าหน่วยกิตที่ลงของภาคการศึกษาปัจจุบัน (เซลล์ J21)

ผลลัพธ์จึงเท่ากับ 54 ในเซลล์ K21

การคำนวณค่าหน่วยกิตที่ได้ (g_weight)

มีสูตรดังนี้

=SUM(FILTER(D22:D28, H22:H28 <> "W", H22:H28 <> "F"))

สูตรข้างต้นจะมีความคล้ายคลึงกับสูตรที่ใช้ในการคำนวณค่าหน่วยกิตที่ลง แต่จะเพิ่มเงื่อนไขเข้าไปอีกเงื่อนไขหนึ่งว่า หากค่าในช่วง H22:H28 ไม่เท่ากับ "F" จะส่งออกค่าที่อยู่ในช่วง D22:D28 ออกมา จึงได้เป็น [3, 3, 3, 1, 3] แล้วนำไปหาผลรวม

ผลลัพธ์จึงเท่ากับ 13 ในเซลล์ L21

การคำนวณค่าหน่วยกิตที่ได้สะสม (cum_g_weight)

มีสูตรดังนี้

=M12+L21

จะเห็นได้ว่าเป็นผลรวมของค่าหน่วยกิตที่ได้สะสมของภาคการศึกษาก่อนหน้า (เซลล์ M12) กับค่าหน่วยกิตที่ลงของภาคการศึกษาปัจจุบัน (เซลล์ L21)

ผลลัพธ์จึงเท่ากับ 48 ในเซลล์ M21

การคำนวณค่าระดับคะแนน (score)

มีสูตรดังนี้

=H21*J21

จะเห็นได้ว่าเป็นผลคูณระหว่างเกรด (เซลล์ H21) และหน่วยกิตที่ลง (เซลล์ J21) ของภาคการศึกษาปัจจุบัน โดยการคำนวณดังกล่าวจะต้องอยู่ในรูปทศนิยมหนึ่งตำแหน่ง

ผลลัพธ์จึงเท่ากับ 30.0 ในเซลล์ N21

การคำนวณค่าระดับคะแนนสะสม (cum_score)

มีสูตรดังนี้

=O12+N21

การคำนวณค่าระดับคะแนนสะสม จะมีค่าเท่ากับ ผลรวมของค่าระดับคะแนนสะสมของภาคการศึกษาก่อนหน้า (เซลล์ O12) กับ ค่าระดับคะแนนของภาคการศึกษาปัจจุบัน (เซลล์ N21)

ผลลัพธ์จึงเท่ากับ 134.5 ในเซลล์ O21

การคำนวณค่าเกรดเฉลี่ยสะสม (GPAX)

มีสูตรดังนี้

=ROUNDDOWN(AVERAGE.WEIGHTED({H2, H12, H21}, {J2, J12, J21}), 2)

การคำนวณข้างต้นจะเป็นการคำนวณค่าเฉลี่ยเลขคณิตแบบถ่วงน้ำหนักระหว่างเกรดของภาคการศึกษาปัจจุบันลงไปถึงภาคการศึกษาแรกในอาร์เรย์ [H2, H12, H21] และค่าหน่วยกิตที่ลงของภาคการศึกษาปัจจุบันลงไปถึงภาคการศึกษาแรกในอาร์เรย์ [J2, J12, J21] แล้วตัดทศนิยมให้เหลือสองตำแหน่งแบบปัดเศษลง

ผลลัพธ์จึงเท่ากับ 2.49 ในเซลล์ P21


ผลลัพธ์

https://docs.google.com/spreadsheets/d/1-LtO-vvVxMGBK-ZNn6x_Gz3wZhqo-7bwptS_JBlu1hg/edit?usp=sharing

สิ่งที่ได้รับ


  • ได้ฝึกใช้งานฟังก์ชันต่าง ๆ
  • ได้ฝึกการเก็บและคำนวณข้อมูล

ปัญหาที่พบ

ไม่มี

No comments:

Post a Comment