14 ก.พ. 2021 เวลา 03:37 • ธุรกิจ
สวัสดีครับ หลังจากไม่ได้เขียนมานานมาก วันนี้จะเป็นการต่อยอดจากครั้งก่อน คือการนำข้อมูลแบบ Boolean มาใช้กับฟังชั่น IF ครับ
เริ่มกันเลยครับ ฟังก์ชั่น IF มีทั้งหมด 3 argument ดังนี้
argument ที่ 1 logical_test คือ argument ที่ต้องใส่ข้อมูลประเภท boolean ที่มีค่าเป็นTRUE หรือ FALSE (ทบทวนเรื่อง boolean ได้ตามลิ้งด้านล่างครับ)
argument ที่ 2 value_if_true คือ argument สำหรับใส่ค่าข้อมูลหรือฟังชั่น เพื่อให้ excel ดำเนินการ หากผลลัพธ์ของข้อมูลใน logical_test เป็น TRUE
argument ที่ 3 value_if_false คือ argument สำหรับใส่ค่าข้อมูลหรือฟังชั่น เพื่อให้ excel ดำเนินการ หากผลลัพธ์ของข้อมูลใน logical_test เป็น FALSE
ลองมาดูตัวอย่างกันครับ
ตารางด้านล่างสมมติให้เป็นคะแนนการสอบของนักเรียน โดยผู้ที่สอบผ่านต้องได้คะแนนตั้งแต่ 60 คะแนนขึ้นไป
ในคอลัมน์ C ผมจะใส่สูตรที่ให้ excel ช่วยคำนวณว่าคะแนนของเด็กแต่ละคนได้ตั้งแต่ 60 คะแนนขึ้นไปหรือไม่ โดยเขียนสูตรตามภาพด้านล่าง คอลัมน์ D ซึ่งยังไม่ได้นำ สูตร if มาใช้
เซลล์ C2 ระบุสูตร =B2>=60 หมายความว่า ค่าข้อมูลในเซลล์ B2 (50) มากกว่าหรือเท่ากับ 60 หรือไม่ ซึ่ง Excel ได้ส่งค่าประเภท Boolean กลับมาว่า FALSE คือไม่จริง
แต่ในการจัดทำข้อมูลจริงเราอาจต้องการคำที่สื่อความหมายมากกว่านี้ เช่น คำว่า “ผ่าน” หรือ “ไม่ผ่าน” ในกรณีนี้เราจะนำสูตร if มาช่วย ดังภาพด้านล่าง
เมื่อนำสูตร if มาใช้แล้วในคอลัมน์ C จะแสดงค่าออกมาเป็นข้อความว่า “ผ่าน” หรือ “ไม่ผ่าน” โดยผมจะขออธิบายค่าของ C2 ดังนี้ครับ
argument ที่ 1 logical_test ใส่ข้อมูลประเภท boolean ซึ่งผมกำหนด B2>=60 ซึ่งค่าที่ได้คือ FALSE
1
argument ที่ 2 value_if_true ระบุว่า “ผ่าน” แต่ สูตรจะไม่แสดงค่านี้เนื่องจาก argument ที่ 1 มีค่าเป็น FALSE
argument ที่ 3 value_if_false ระบุว่า “ไม่ผ่าน” สูตรจะแสดงค่านี้เนื่องจาก argument ที่ 1 มีค่าเป็น FALSE
พอจะเข้าใจแนวคิดของสูตรแล้วใช่ไหมครับ C3 argument ที่ 1 ได้ค่าเป็น TRUE จึงแสดงค่าเป็น “ผ่าน” เป็นต้น
ลองมาดูที่ซับซ้อนขึ้นครับ
ถ้าผมกำหนดผลการประเมินใหม่ว่า
ถ้าใครได้มากกว่า 80 ถือว่าดีมาก ถ้ามากกว่า 60 แต่น้อยกว่า 80 คือ ผ่าน นอกนั้นคือไม่ผ่าน ผมจะเขียนสูตรโดยจะขออธิบายค่าของ C2 ดังนี้ครับ
argument ที่ 1 logical_test ใส่ข้อมูลประเภท boolean ซึ่งผมกำหนด B2>=80 ซึ่งค่าที่ได้คือ FALSE เพราะคะแนนต่ำกว่า 50
argument ที่ 2 value_if_true ระบุว่า “ดีมาก” แน่นอนว่า argument ที่ 1 ได้ค่า FALSE จึงไม่เข้าเงื่อนไข
argument ที่ 3 value_if_false ผมระบุ if ซึ่งเป็นสูตรอีกชั้นครับ เพื่อจะดูว่าจะคะแนนได้ตั้วแต่ 60 คะแนนหรือไม่ โดยต้องพิจารณาอีกขั้นดังนี้ครับ
argument ที่ 1 logical_test(ชั้นที่2) กำหนด B2>=60 ซึ่งค่าที่ได้คือ FALSE เพราะคะแนนต่ำกว่า 50
argument ที่ 2 value_if_true(ชั้นที่2) ระบุว่า “ผ่าน” ซึ่ง argument ที่ 1 ได้ค่า FALSE จึงไม่เข้าเงื่อนไข และไปแสดงค่า argument ที่ 3 value_if_false (ชั้นที่2) แทน ซึ่งระบุว่า “ไม่ผ่าน”
กรณี C3 แสดงค่า“ผ่าน”จาก argument ที่ 2 value_if_true(ชั้นที่2) ที่ระบุว่า “ผ่าน”
กรณี C7 แสดงค่า”ดีมาก”จาก argument ที่ 2 value_if_true(ชั้นที่1) ที่ระบุว่า “ดีมาก”
ถ้าหากเรามีเงื่อนไขมากขึ้นก็ต้องกำหนด if ซ้อนไปอีกซึ่งจะซับซ้อนมากขึ้น แต่ถ้าใครใช้ excel version 2019 หรือ 365 จะมีสูตร ifs ซึ่งช่วยให้สูตรซับซ้อนน้อยลง ไว้โอกาสหน้าผมจะมานำเสนอสูตร ifs ครับ
สำหรับครั้งนี้ขอบคุณที่ติดตามครับ
ลิ้งสำหรับเรื่องข้อมูลแบบ boolean ครับ
โฆษณา