Select Page

date

สูตรสำเร็จรูปสำหรับสร้าง Date Table ด้วย DAX และ Power Query M Code

สูตรสำเร็จรูปสำหรับสร้าง Date Table ด้วย DAX และ Power Query M Code

จากที่ผมได้เคยอธิบายไปว่า Date Table มีความสำคัญต่อการทำ Data Model เป็นอย่างยิ่ง โดยเฉพาะการใช้ฟังก์ชัน Date Intelligence ยิ่งจำเป็นต้องใช้ Date Table เลยล่ะ แปลว่า Data Model ของทุกคนควรมี Date Table ซึ่งกลายเป็นเรื่องที่ทุกๆ คนต้องทำเหมือนๆ...

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

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

เรื่องวันที่ใน Excel นั้นมีความลึกซึ้งยิ่งนัก หากเราเข้าใจแบบผิวเผิน ก็อาจจะทำงานผิดพลาดโดยไม่รู้ตัวก็ได้ ลองมาดูกันครับ ว่าคุณรู้เรื่องพวกนี้แล้วหรือยัง? ประเด็นที่ 1 : การกรอกวันที่ปัจจุบัน วิธีกรอกวันที่ปัจจุบันลงไปใน Excel มีง่ายๆ 2 วิธีด้วยกัน...

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

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

เนื่องในโอกาสกำลังจะถึงช่วงวันหยุดยาวของปีนี้ ผมขอแจกไฟล์วันหยุด 10 ปีย้อนหลัง ในรูปแบบไฟล์ Excel เพื่อให้ทุกคนได้ Download ไปใช้กับฟังก์ชันพวกเกี่ยวกับคำนวณหาวันทำการ เช่น NETWORKDAYS , WORKDAY ซึ่ง Function หรือ สูตรทั้ง 2 กลุ่มดังกล่าว...

read more
แนวทางจัดการวันที่เน่า (ผิดไปแล้วทำไงดี)

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

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

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

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

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

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

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

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

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

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 วิธีที่จะรับมือกับวันแย่ๆ ครับ สมมติว่ากรอกวันที่แย่ๆ อยู่ในช่อง A1 นะครับ […]

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

ติวเข้มก่อนเข้าโรงเรียนเวทมนตร์ #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 (จริงๆ แล้ววันที่คือเลขธรรมดา เช่น 1 มกราคม ค.ศ. […]

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

read more

เดินทางข้ามเวลาด้วยฟังก์ชั่นกลุ่ม Date Time เพื่อจัดการข้อมูลวันที่และเวลา

เรื่องวันที่และเวลาเป็นเรื่องพื้นฐานที่คนใช้ Excel ทั่วไปไม่รู้ว่าจริงๆ แล้วมันทำงานยังไงมากที่สุด ในบทความนี้จะมาเรียนรู้ว่าเราจัดการข้อมูลวันที่และเวลาด้วยฟังก์ชันแบบไหนบ้างครับ ฟังก์ชั่นเกี่ยวกับการจัดการข้อมูลวันที่ 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) เช่น […]

read more

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

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

read more

เทคนิคการแยกวันที่และเวลาออกจากกัน

มีแฟนเพจท่านหนึ่งถามใน Facebook Page มาว่า ถาม ผมมีวันเวลา แบบนี้ 28/2/2014 23:52:00 อยากตัดแยกวันและเวลาออกเป็นคนละเซลล์ต้องทำอย่างไรครับ? ตอบ การจะแยกวันที่กับเวลาออกจากกัน ต้องเข้าใจก่อนว่า จริงๆแล้ววันที่คือเลขจำนวนเต็ม เวลาคือเลขทศนิยม (หากยังไม่เข้าใจ ลองอ่านได้ที่นี่ https://www.thepexcel.com/how-date-time-work/) แปลว่าเจ้าเลข 28/2/2014 23:52:00 จริงๆ แล้วคือ 41698.9944444444 ที่นี้เราจะต้องแยกมันออกเป็นสองส่วน คือ ส่วนจำนวนเต็ม (ซึ่งจะกลายเป็นวันที่) และอีกส่วนคือ ส่วนทศนิยม (ซึ่งจะกลายเป็นเวลา) ส่วนจำนวนเต็ม ผมจะใช้สูตร ROUNDDOWN มาช่วย เพราะเป็นการปัดค่าลง โดยผมกำหนดให้เป็น ทศนิยม 0 ตำแหน่ง ส่วนทศนิยม ผมจะใช้ฟังก์ชั่น MOD มาช่วย ซึ่งหน้าที่ของมันคือ หารแล้วเอาเศษที่เหลือ ดังนั้นผมเลยเอาเลขดังกล่าวหารด้วย 1 เศษที่เหลือก็จะหลายเป็นทศนิยมไป ขั้นตอนต่อไปก็แค่ปรับ format ให้เหลือแค่วันที่ และ เวลา ตามลำดับ เป็นอันจบครับ

read more