How to แยกวันที่ เป็น วัน เดือน ปี บน Excel
How to แยกวันที่ เป็น วัน เดือน ปี บน Excel🥳
เวลาทำรายงานใน Excel ฉันเจอปัญหาซ้ำๆ คืออยาก “แยกวันที่” ออกเป็น วัน / เดือน / ปี เพื่อเอาไปทำ Pivot, ทำกราฟ หรือสรุปยอดรายเดือน แต่พอเริ่มเรียงข้อมูลกลับเจอเดือนสลับ หรือวันที่เรียงผิด เพราะ Excel มองค่าเป็น “ข้อความ” ไม่ใช่ “วันที่จริง” เลยอยากสรุปวิธีที่ใช้งานได้ชัวร์ไว้ตรงนี้ 1) ก่อนแยกวัน/เดือน/ปี ต้องเช็กก่อนว่าเป็น “วันที่จริง” ไหม - คลิกเซลล์แล้วลองเปลี่ยนรูปแบบ (Format Cells) เป็น Date ถ้าเปลี่ยนแล้วค่าหน้าตาเปลี่ยนตาม แปลว่าเป็นวันที่จริง - วิธีไวๆ: ลองเอาเซลล์วันที่ไป +1 ถ้าค่าเลื่อนเป็นวันถัดไป แปลว่าเป็นวันที่จริง ถ้า +1 แล้วเออเรอร์ หรือค่าไม่เปลี่ยน มักเป็นข้อความ ต้องแปลงก่อน (เช่น Data > Text to Columns หรือใช้ DATEVALUE กับรูปแบบที่ถูกต้อง) 2) สูตรแยก “วัน / เดือน / ปี” แบบได้ตัวเลข (เหมาะกับคำนวณ) - วัน: =DAY(A2) - เดือน: =MONTH(A2) - ปี: =YEAR(A2) ข้อดีคือเอาไปคำนวณต่อได้ทันที เช่น ทำสรุปรายเดือน หรือกรองตามปี 3) สูตรแสดงชื่อวัน/เดือนเป็นภาษา (เหมาะกับโชว์ผลลัพธ์) ถ้าอยากได้แบบในภาพ เช่น “พฤหัสบดี”, “สิงหาคม” ให้ใช้ TEXT - ชื่อวันเต็ม: =TEXT(A2,"dddd") (ได้ พฤหัสบดี) - ชื่อวันย่อ: =TEXT(A2,"ddd") (ได้ พฤ.) - ชื่อเดือนเต็ม: =TEXT(A2,"mmmm") (ได้ สิงหาคม) - ปี 2 หลัก: =TEXT(A2,"yy") - ปี 4 หลัก: =TEXT(A2,"yyyy") ข้อควรระวัง: TEXT จะได้ผลลัพธ์เป็น “ข้อความ” ถ้าจะเอาไปเรียง/คำนวณ แนะนำเก็บคอลัมน์วันที่จริงไว้ 1 คอลัมน์ แล้วค่อยทำคอลัมน์โชว์แยกต่างหาก 4) ป้อนวันที่ลงในเซลล์ ต้องคำนึงถึง “ลำดับวัน-เดือน-ปี” ปัญหาคลาสสิกคือ 01/02/2024 บางเครื่องตีความเป็น 1 ก.พ. บางเครื่องเป็น 2 ม.ค. ขึ้นกับ Region/Format ทริคที่ฉันใช้: - ตั้งค่า Format Cells ให้เป็นวันที่ที่ต้องการก่อน (เช่น dd/mm/yyyy) - หรือป้อนแบบชัดเจน เช่น 2024-02-01 (รูปแบบ ISO) เพื่อลดโอกาสสลับวัน/เดือน 5) วิธีเรียงวันที่ Excel ให้ถูกต้อง (ไม่เพี้ยน) - ถ้าคอลัมน์เป็นวันที่จริง: ใช้ Sort จากเก่าสุดไปใหม่สุดได้เลย - ถ้าเป็นข้อความ (เช่นได้จาก TEXT): การเรียงจะเรียงตามตัวอักษร ทำให้เพี้ยน ทางแก้: - เรียงด้วยคอลัมน์ “วันที่จริง” เป็นหลัก แล้วคอลัมน์ชื่อเดือน/ชื่อวันเป็นแค่คอลัมน์แสดงผล 6) อยาก “เรียงเดือน” ให้ถูกลำดับ ม.ค.-ธ.ค. ถ้าเก็บเดือนเป็นตัวเลข (1-12) จะเรียงถูกอยู่แล้ว แต่ถ้าเก็บเป็นชื่อเดือน (มกราคม, กุมภาพันธ์…): - แนะนำสร้างคอลัมน์เดือนตัวเลขด้วย =MONTH(A2) แล้ว Sort ตามคอลัมน์นั้น - หรือทำ Custom List เดือนภาษาไทยใน Excel แล้วค่อยสั่ง Sort ตาม Custom List (เหมาะกับไฟล์ที่ต้องใช้บ่อย) สรุปสั้นๆ: เก็บ “วันที่จริง” ไว้เสมอ แล้วค่อยแยกวัน/เดือน/ปี ด้วย DAY/MONTH/YEAR หรือแสดงชื่อสวยๆ ด้วย TEXT("dddd"), TEXT("mmmm"), TEXT("yy") จากนั้นการเรียงวันที่และเรียงเดือนจะไม่หลุดลำดับง่ายๆ