ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #1 : ค่าที่แท้จริง วันที่และเวลา 1

ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #1 : ค่าที่แท้จริง วันที่และเวลา

จากที่ผมได้ Post ข้อสอบเข้าโรงเรียนจอมเวทเทพเอ็กเซลให้ลองทำกันไปเมื่ออาทิตย์ก่อน  (ใครยังไม่ได้ลองทำ เชิญไปทำได้ที่นี่ จะได้รู้ว่าเนื้อหาตรงไหนที่เรายังไม่แม่นนะครับ https://goo.gl/forms/5hqxIOH7tGDk9F3D2 )

ข้อสอบที่มีคนผิดมากเป็นอันดับต้นๆ และเป็นเรื่องที่เกี่ยวเนื่องกัน นั่นคือเรื่องของ “ค่าที่แท้จริง วันที่ และเวลา” ซึ่งมีอยู่ 3 ข้อ นั่นคือ

  • ข้อ 6) จากรูป หากเขียนสูตรใน A2 ว่า =A1+1 จะได้ค่าเท่าไหร่?
  • ข้อ 8) ตามรูป หากเขียนสูตรว่า =IF(A1<31/12/2016,”ยังไม่หมดเขต”,”หมดเขตแล้ว”) ผลลัพธ์จะได้ออกมาเป็นอะไร?
    (A1 คือ วันที่ 29 สิงหาคม คศ. 2016)
  • ข้อ 9) เริ่มทำงาน ด้วยเวลาในช่อง B1 เสร็จงาน ด้วยเวลาในช่อง B2 จะคำนวณว่าใช้เวลากี่นาที ในช่อง B3 ยังไง?

ดังนั้นผมจะขอนำมาเขียนอธิบายแบบละเอียดให้เข้าใจกันอย่างแจ่มแจ้งอีกครั้งนะครับ โดยในบทความนี้เรามาดู ข้อ 6 กับข้อ 9 กันก่อนครับ บทความถัดไปจะมาดูข้อ 8 กัน

ค่าที่เห็น…อาจไม่ใช่ค่าที่เป็น (เรื่องค่าที่แท้จริง)

ข้อ 6) จากรูป หากเขียนสูตรใน A2 ว่า =A1+1 จะได้ค่าเท่าไหร่?

003

ข้อนี้ถ้าไม่สังเกตให้ดีอาจโดนหลอกได้ง่ายๆ เพราะค่าใน Cell เป็นเลข 3 แต่ค่าใน Formula Bar เป็น 2.5

ซึ่งค่าใน Cell ที่เรามองเห็นเกิดจากการเอา “ค่าที่แท้จริง” ไปปรุงแต่ง แต่งตัว แต่งหน้า” ผ่านการปรับ Formatting หรือรูปแบบการแสดงผล จนสุดท้ายออกมาเป็นผลลัพธ์ที่เรามองเห็นด้วยตาเปล่าได้

แต่เรื่องของการแสดงผลก็เป็นเพียงแค่เปลือกนอกเท่านั้น ถึงเราจะปรับเลข 2.5 ให้ไม่แสดงทศนิยมจนแสดงผลออกมาเป็นเลข 3 เวลานำมันไปคำนวณต่อ Excel จะเอาค่าที่แท้จริง คือ 2.5 ไปคำนวณต่อ ไม่ได้เอาการแสดงผลหรือเลข 3 ไปคำนวณนะครับ (ยกเว้นว่าใน Excel Option จะไปตั้งค่า Set precision as displayed ในเมนู Advanced ซึ่งปกติแล้วจะไม่ตั้งค่าแบบนั้น)

ดังนั้นสิ่งที่ต้องจดจำไว้ให้ดีคือ “ค่าที่เห็น…อาจไม่ใช่ค่าที่เป็น” การปรับ Format ทั้งหน้าตาและ Number Format จะไม่มีผลใดๆ ต่อการคำนวณทั้งสิ้น

การคำนวณเวลาที่ใช้ในการทำงาน และการแปลงหน่วย (ข้อ 9)

ข้อ 9) เริ่มทำงาน ด้วยเวลาในช่อง B1 เสร็จงาน ด้วยเวลาในช่อง B2 จะคำนวณว่าใช้เวลากี่นาที ในช่อง B3 ยังไง?

002

ก่อนที่จะคำนวณข้อนี้ได้ เราจะต้องมีความเข้าใจเรื่องที่ว่า วันที่และเวลา จริงๆ แล้วคือตัวเลขธรรมดาๆ ที่เปลี่ยน Number Format ไปเท่านั้น (อย่างที่อธิบายข้างบนว่า การปรับ Format ไม่มีผลต่อการคำนวณ)

โดยที่ Excel จะแทนวันที่ 1/1/1900 (1 มกราคม คศ. 1900) ด้วยเลข 1  (ค่าที่แท้จริงของวันที่ 1/1/1900 คือ เลข 1) แล้วมันก็แทนวันที่ 2/1/1900 ( 2 มกราคม คศ. 1900) ด้วยเลข 2… ทำอย่างนี้ไปเรื่อยๆ

เช่น หากใน Cell ใส่วันที่เป็น 16/10/2016 แล้วลองเปลี่ยน Number Format ให้เป็น Number จะเห็นว่ากลายเป็นเลข 42659 นั่นเอง (ไม่ต้องจำเลขนะ…)

เมื่อ Excel แทนวันที่ด้วยจำนวนเต็ม ดังนั้น เวลา (ซึ่งคือส่วนหนึ่งของวัน) ก็จะถูกแทนด้วยเลขทศนิยมนั่นเอง เช่น

  • วันที่ 16/10/2016 เวลา 0:00 คือเลข 42659
  • วันที่ 16/10/2016 เวลา 12:00 (เวลาผ่านไปครึ่งวัน) คือเลข 42659.5 (เพิ่มมา 0.5 วัน)
  • วันที่ 17/10/2016 เวลา 0:00 คือเลข 42660

ทีนี้ถ้าเรากรอกเป็น 16/10/2016  13:25:00 แล้วลองเปลี่ยนเป็น Number จะได้เป็นเลข 42659.5590277778 (ลองเพิ่มทศนิยมดู) ซึ่งจริงๆ แล้วมันก็คือการแปลงวัน+เวลา ชั่วโมงและนาที ให้มีหน่วยเป็น “วัน” นั่นเอง

ดังนั้นถ้าเรามีเวลาเริ่มและจบแล้ว เราจะหาเวลาที่ผ่านไปได้ง่ายมากๆ โดยเอาค่าทั้งสองมาลบกัน

เช่น เอา B2-B1 จะได้ 1.784722222 แบบนี้ ซึ่งจะมีหน่วยเป็นวัน

explain-timedif

ถ้าหากโจทย์ต้องการคำตอบที่หน่วยเป็นนาที เราก็แค่ต้องแปลงหน่วยจากวันเป็นนาที ซึ่งง่ายมากๆ แค่เพียงเรารู้หลักการของการแปลงหน่วยเท่านั้น นั่นคือ การทำให้หน่วยตัดกันจนให้ได้ผลลัพธ์เป็นหน่วยสุดท้ายที่ต้องการ  โดยการแทนเลข *1 ด้วยอัตราส่วนที่เป็นความจริง เช่น

  • 1 วัน = 24 ชม. หรือ 1 = 24 ชม./วัน
  • 1 ชม. = 60 นาที หรือ 1 = 60 นาที/ชม.

ดังนั้น (B2-B1) วัน คือ

  • = (B2-B1) วัน * 1 * 1 (คูณ 1 ค่าไม่เปลี่ยน ถือว่าทำแล้วค่ายังคงถูกต้อง)
  • = (B2-B1) วัน * 24 ชม./วัน * 60 นาที/ชม.
    โดยที่จะเห็นว่าหน่วยสามารถตัดกันได้ จนเหลือแค่หน่วยนาที

explain-timedif2

 

  • สุดท้ายจะได้ว่า เวลาที่ผ่านไปเป็นหน่วยนาที คำนวณได้จาก
  • = (B2-B1)*24*60 นาที

เห็นมั้ยครับ? การคำนวณเรื่องวันที่และเวลาไม่ได้ยากอย่างที่คิดเลย แค่ต้องเข้าใจ Concept ของมันเท่านั้นเอง

ใครยังสงสัยตรงไหนก็ถามได้เลยนะครับ อย่าปล่อยผ่านไปแบบไม่เข้าใจแบบเคลียร์ๆ นะ ^^