วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 1

วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel

เรื่องวันที่ใน Excel นั้นมีความลึกซึ้งยิ่งนัก หากเราเข้าใจแบบผิวเผิน ก็อาจจะทำงานผิดพลาดโดยไม่รู้ตัวก็ได้ ลองมาดูกันครับ ว่าคุณรู้เรื่องพวกนี้แล้วหรือยัง? ประเด็นที่ 1 : การกรอกวันที่ปัจจุบัน วิธีกรอกวันที่ปัจจุบันลงไปใน Excel มีง่ายๆ 2 วิธีด้วยกัน ใช้ฟังก์ชัน =TODAY()กดคีย์ลัด Ctrl+; (ปุ่ม ว) ซึ่งมันออกมาเป็นวันที่ปัจจุบันทั้งคู่... แล้วทั้ง 2 วิธีต่างกันตรงไหน? หากใช้ผิด ผลที่ได้อาจไม่ใช่อย่างที่คิดนะครับ... วิธีใช้ฟังก์ชัน =TODAY() มันเป็นสูตร อะไรก็ตามที่เป็นสูตร มันจะสามารถเปลี่ยนค่าได้ หากมีการคำนวณใหม่ (แค่พิมพ์ข้อมูลใหม่ หรือ เปิดไฟล์ขึ้นมาใหม่ มันก็คำนวณใหม่แล้ว) ดังนั้น ถ้าผมเขียนสูตร ณ วันนี้ พอเปิดไฟล์นี้ในวันถัดไป วันที่ก็จะเปลี่ยนแล้ว แต่ถ้าหากใช้คีย์ลัด Ctrl+; (ปุ่ม ว) มันจะเป็นการ Stamp ค่าวันที่ลงไปใน…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 2

แจกไฟล์รวมวันหยุด 10 ปี ย้อนหลัง ในรูปแบบไฟล์ Excel

เนื่องในโอกาสกำลังจะถึงช่วงวันหยุดยาวของปีนี้ ผมขอแจกไฟล์วันหยุด 10 ปีย้อนหลัง ในรูปแบบไฟล์ Excel เพื่อให้ทุกคนได้ Download ไปใช้กับฟังก์ชันพวกเกี่ยวกับคำนวณหาวันทำการ เช่น NETWORKDAYS , WORKDAY ซึ่ง Function หรือ สูตรทั้ง 2 กลุ่มดังกล่าว จะใช้งานจริงแทบไม่ได้เลย หากปราศจากข้อมูลวันหยุดพิเศษ ที่เราต้องบอก Excel เองว่าบริษัทเราหุดวันไหนบ้าง? (ระบุเป็น Range ใน Input ที่ชื่อว่า Holidays) ตามข้างล่างนี้ ตระกูล NETWORKDAYS NETWORKDAYS / NETWORKDAYS.INTL เอาไว้หาจำนวนวันทำการในระหว่างช่วง 2 วันที่กำหนด (นับวันเริ่ม) ***ฟังก์ชันแบบมี .INTL จะเจ๋งกว่าเพราะสามารถเลือกได้ว่าหยุดวันไหนบ้าง (จ-อา) แต่ถ้าแบบ ปกติจะถือว่า หยุดทั้งวันเสาร์และวันอาทิตย์ =NETWORKDAYS.INTL(start_date,end_date,[weekend],[holidays]) หรือ=NETWORKDAYS.INTL(วันเริ่ม,วันจบ,[เลือกโหมดว่าหยุดวันไหนบ้าง จ-อา],[เลือกวันหยุดพิเศษในไฟล์ที่แจก])…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 3

แนวทางจัดการวันที่สุดมั่ว (ผิดไปแล้วทำไงดี)

างที่ผมพยายามเตือนเรื่องการกรอกข้อมูลวันที่ไปแล้ว 2 ตอนด้วยกัน สมมติว่าคุณแก้ไขตามที่ผมบอกไปแล้ว แปลว่าการกรอกวันที่ในอนาคตไม่น่าจะผิดอีกแล้ว แต่ของในอดีตที่เคยผิดไปแล้วจะทำไงดีล่ะ? วันนี้ผมเลยทดลองกรอกวันที่มั่วๆ ลงไปในหลายๆ รูปแบบ แล้วลองเขียนสูตรดูซิว่าจะช่วยจัดการให้เข้าร่องเข้ารอยได้หรือไม่? แบบว่าอัดสูตรแบบ combo เข้าไปแบบเดียวกันดูเลยว่ามีใครรอดมั้ย? ดาวน์โหลดไฟล์ ไฟล์ที่ผมลองทำ => mess-up-date2 Screenshot การทำ มีหลายขั้นตอนมาก หลักๆ คือ ผมก็คิดก่อนว่า ตัวเองรู้ได้ไงว่าวันที่อันไหนผิด ด้วยวิธีอะไร แล้วจะแก้ให้ถูกต้องได้ยังไง? แล้วเอาสิ่งนั้นแหละมาเขียนเป็นสูตร ผมก็เลยพยายามแยก ปี เดือน วัน ออกมา แล้วลอง adjust เช่น ลบ 543 หรือ สลับวันกับเดือน แล้วสุดท้ายเอาไปตรวจว่าอยู่ในช่วงวันที่ที่ต้องการหรือไม่? (กำหนดอยู่ข้างบน ซึ่งเป็นตัวที่ช่วยเช็คได้ดีมากๆ ตัวนึงเลย) ถ้าอยู่ในช่วงวันที่ที่กำหนด ก็แสดงว่า ok น่าจะถูกครับ (สุดท้ายได้คอลัมน์ R) โดยสรุป ผมใช้หลายขั้นตอนมากๆ…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 4

อะไรจะเกิดขึ้น? เมื่อใส่วันที่ใน Excel ด้วยปี พ.ศ. แทนที่จะใส่ ค.ศ.

หลังจากบทความที่แล้ว ผมได้ให้คำแนะนำเกี่ยวกับการตั้งค่าวันที่ให้ถูกต้องแล้ว (เรื่อง วัน/เดือน/ปี หรือ เดือน/วัน/ปี ) มาวันนี้ ผมจะขอย้ำอีกเรื่องนึงซึ่งเกี่ยวกับวันที่เช่นเดียวกัน (ซึ่งจริงๆ ได้พยายามย้ำหลายครั้งแล้ว) นั่นก็คือ... การทำงานเกี่ยวกับวันที่ใน Excel เราจะต้องใส่ปีเป็น ค.ศ. ไม่ใช่ พ.ศ.  เช่น หากต้องการใส่วันที่ 27 เมษายน พ.ศ. 2560 ให้ใส่ว่า 27/4/2017 ไม่ใช่ 27/4/2560 ! เพราะถ้าใส่เป็น 27/4/2560 ...Excel จะคิดว่าเราหมายถึง 27 เมษายน ค.ศ. 2560 ซึ่งเป็นวันในอนาคตอีก 543 ปี!! (บ้าไปแล้ว) บางคนถึงรู้อย่างงี้ก็บอกว่า... ฉันไม่แค่ร์หรอก! ก็เรารู้เองว่าจริงๆ มันคือ พ.ศ. 2560 ก็ได้ ยิ่งถ้านัดกับเพื่อนๆ ร่วมงานทุกคนให้ร่วมใจกันเข้าใจว่ามันเป็น พ.ศ. ก็น่าจะใช้ได้นี่นา? (เหมือนอุปาทานหมู่ หรือพวก ทฤษฎีสมคบคิดเลยแฮะ) ผมจะบอกว่าถึงเราจะฮั้วกับเพื่อนแล้วมันก็จะผิดอยู่ดี ซึ่งผมจะแสดงให้เห็นชัดๆ…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 5

การตั้งค่าให้ Excel รู้จักวันที่ในรูปแบบที่ต้องการ เช่น วัน/เดือน/ปี ไม่ใช่ เดือน/วัน/ปี

ต้องบอกก่อนเลยว่าเรื่องวันที่และเวลา เป็นเรื่องที่หลายคนไม่เข้าใจ และอาจจะกำลังปวดหัวกับมันอย่างมาก ซึ่งสิ่งหนึ่งที่ทำให้หลายท่านปวดหัวแบบสุดๆ ไปเลยก็คือเรื่องของ "รูปแบบวันที่" นี่คือตัวอย่างกรณีที่ตั้งค่าผิด สิ่งที่เกิดขึ้นคือ เราตั้งใจพิมพ์รูปแบบวันที่ในรูปแบบ วัน/เดือน/ปี แต่หารู้ไม่ว่าคอมพิวเตอร์ที่เรากำลังใช้อยู่ดันถูกตั้งค่าใน Control Panel ให้เป็น เดือน/วัน/ปี ผลลัพธ์ที่ได้เลยมั่วนิ่มเลย!! อธิบายความผิดพลาด 13/4/2017 ถูกจัดชิดซ้าย (เป็น Text) เพราะมันไม่รู้จัก เดือนที่ 13 นั่นเอง (วันที่ 4 เดือน 13 ค.ศ. 2017 ???) แปลว่าเลข 10/4/2017 ที่เราเข้าใจว่าถูกต้อง จริงๆ ก็ผิดด้วย เพราะ Excel เข้าใจว่าเป็นวันที่ 4 ตุลาคม แต่จริงๆ เราต้องการเป็นวันที่ 10 เมษายนต่างหาก!! ส่วนการที่ 3/5/2017 ลาก Fill…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 6

7 วิธีรับมือกับวันแย่ๆ (ใน Excel)

อย่างที่ผมเคยย้ำเสมอว่า Excel มองวันที่เป็นแค่ตัวเลขจำนวนธรรมดาตัวหนึ่งที่เปลี่ยนหน้าตาไปเท่านั้น (รายละเอียดอ่านได้ที่นี่) นอกจากนี้ Excel จะรู้จักวันที่ในรูปแบบที่มันคุ้นเคยเท่านั้น เช่น dd/mm/yyyy หรือ dd-mm-yyyy หรือ yyyy/mm/dd หรือ yyyy-mm-dd (กรณีที่ตั้งค่า Regional Setting ใน Control Panel เป็น Thai ) ดังนั้น ถ้าหากเราใส่วันที่ในรูปแบบที่ Excel ไม่รู้จัก เช่น 2016.12.09 มันก็จะไม่มองว่าเป็นวันที่หรอกนะ นอกจากนี้จะต้องระวังเรื่องการใส่เลขปีด้วย ว่าปกติแล้วควรใส่เป็นปี ค.ศ. เสมอ (ยกเว้นจะตั้งค่าใน Number Format ให้รับ Input เป็น พ.ศ. ไทยไปเลย มีบอกวิธีท้ายบทความ) แต่บางครั้งเราได้ข้อมูลมาจากคนอื่น (หรือแม้แต่ฐานข้อมูลที่ Office) ซึ่งดันมีข้อมูลวันที่อยู่ในรูปแบบที่แย่ๆ Excel มันก็เลยไม่รู้จัก เราก็เลยต้องยื่นมือไปช่วยหน่อยแล้ววววว!!! นี่คือ 7 วิธีที่จะรับมือกับวันแย่ๆ…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 7

ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #2 : ข้อควรระวังในการเขียนวันที่ในสูตร

จากตอนที่แล้วที่ผมได้อธิบายเฉลยข้อสอบเข้าโรงเรียนจอมเวทเทพเอ็กเซล ไป 2 เรื่องแล้ว วันนี้มาต่ออีกเรื่องซึ่งเป็นข้อที่มีคนผิดมากที่สุดครับ โดยโจทย์ที่ถามคือ... 8) ตามรูป หากเขียนสูตรว่า =IF(A1<31/12/2016,"ยังไม่หมดเขต","หมดเขตแล้ว") ผลลัพธ์จะได้ออกมาเป็นอะไร? (A1 คือ วันที่ 29 สิงหาคม ค.ศ. 2016) ข้อนี้หลายคนโดนหลอกอย่างจัง เพราะข้อนี้คำตอบคือ "หมดเขตแล้ว" สาเหตุคือ เวลาเราเขียนค่าที่เป็นวันที่ลงไปในสูตร หากเราดันไปเขียนว่า =A1<31/12/2016 มันจะกลายเป็น เอา 31 หารด้วย 12 แล้วหารด้วย 2016 แทน (ไม่เชื่อลองเขียนสูตรว่า =31/12/2016 ดูสิ จะได้ ซึ่งจะได้ A1<0.00128141534391534  ) ดังนั้นสูตรที่เขียนว่า =A1<31/12/2016 จะได้ =A1<0.00128141534391534 ซึ่ง A1 เป็นวันที่จริงๆ ซึ่งมันเปรียบเทียบได้เป็นเลข 42611 (จริงๆ…
วันนี้ วันนั้น วันไหน? : เรื่องลับๆเกี่ยวกับวันที่ใน Excel 8

ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #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…

เดินทางข้ามเวลาด้วยฟังก์ชั่นกลุ่ม Date & Time

ฟังก์ชั่นเกี่ยวกับวันที่ DATE ใช้ประกอบร่าง ตัวเลขปี เลขเดือน เลขวัน ให้กลายเป็นรูปแบบของวันที่ DATE(year, month, day) เช่น หากใส่สูตรใน A1 ว่า =DATE(2018,11,24) => 24/11/2018 (24 พฤศจิกายน ค.ศ. 2018) Tips1 : สิ่งที่ต้องระวังก็คือ เราจะต้องแทนปีด้วยเลข คศ. นะครับ Tips2 : เราสามารถใส่ day เป็นเลขติดลบ หรือ เลขที่มากกว่า 31 วัน ได้ด้วยนะครับ วันที่มันจะเลื่อนกลายเป็นของเดือนอื่นไป และที่เจ๋งคือ ถ้าเราใส่เป็นเลข 0 มันจะกลายเป็นวันสุดท้ายของเดือนก่อนครับ !! => ตัวอย่าง https://www.thepexcel.com/last-day-of-month/ ต่อไปเป็นการหา ปี เดือน วัน จากข้อมูลที่เป็นวันที่ YEAR ใช่หาว่าเลขวันที่ที่กำหนด อยู่ในปีที่เท่าไหร่ YEAR(serial_number)…

สุดยอดฟังก์ชั่นช่วยจัดการข้อมูลให้เป็นไปตามต้องการ

บทความนี้ถูกแยกเขียนใหม่เป็น 3 หัวข้อดังนี้ เข้าไปใน link ได้เลยครับ Level 14. จัดการข้อความให้อยู่หมัด ด้วยฟังก์ชั่นกลุ่ม TEXT Level 15 : เดินทางข้ามเวลาด้วยฟังก์ชั่นกลุ่ม Date & Time Level 16 : VLOOKUP และ MATCH คู่ซี้ค้นหาข้อมูล