Computer >> คอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

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

คุณสามารถดาวน์โหลดสมุดแบบฝึกหัดได้จากลิงค์ด้านล่าง

4 ขั้นตอนในการสร้างปฏิทินประจำปีใน Excel

ก่อนที่เราจะทำการวิเคราะห์อย่างละเอียดในบทช่วยสอนนี้ ให้ฉันแสดงให้คุณเห็นว่าผลลัพธ์สุดท้ายจะเป็นอย่างไร ที่นี่เรามีปฏิทินประจำปีที่วันเสาร์ และ วันอาทิตย์ (วันหยุดสุดสัปดาห์) จะแสดงเป็นสีส้มอ่อน ในขณะที่ วันหยุด ปรากฏเป็นสีส้มสดใส

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ที่นี่เราใช้ Microsoft Excel 365 คุณสามารถใช้เวอร์ชันอื่นได้ตามสะดวก

📌 ขั้นตอนที่ 01:สร้างโครงร่างหลัก

  • ในขั้นตอนแรก เราจะสร้างโครงร่างของปฏิทินโดยการหาร เดือน ใน 3 คอลัมน์และ 4 แถว
  • ถัดไป ป้อน 7 วันใน สัปดาห์ และไฮไลท์ วันหยุดสุดสัปดาห์ ในกรณีนี้ วันเสาร์ และ วันอาทิตย์ .

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

อ่านเพิ่มเติม: วิธีสร้างปฏิทินรายสัปดาห์ใน Excel (3 วิธีที่เหมาะสม)

📌 ขั้นตอนที่ 02:ป้อนชื่อเดือน :

  • ขั้นที่สอง ไปที่ B4 เซลล์>> พิมพ์ตัวเลข 1 >> กด CTRL + 1 ปุ่มบนแป้นพิมพ์ของคุณ

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ตอนนี้จะเป็นการเปิด จัดรูปแบบเซลล์ กล่องโต้ตอบ

  • ในตอนแรก ให้ย้ายไปที่ หมายเลข แท็บ>> เลือก กำหนดเอง ตัวเลือก>> ใน ประเภท ให้ป้อน “มกราคม” (ภายในเครื่องหมายจุลภาค)>> สุดท้าย ให้ข้ามไปที่ แบบอักษร แท็บ

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

  • ถัดไป เลือก ตัวหนา-ตัวเอียง รูปแบบตัวอักษร >> เลือก สี , ที่นี่เราเลือกสีม่วง>> กด ตกลง ปุ่ม.

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

  • ในทางกลับกัน ให้เลือก B4:H4 ช่วงของเซลล์>> กด CTRL + 1 ปุ่มเพื่อนำทางไปยัง จัดรูปแบบเซลล์ หน้าต่าง
  • ตามนี้ ไปที่ การจัดตำแหน่ง แท็บ>> ใน แนวนอน ส่วน เลือก กึ่งกลางระหว่างส่วนที่เลือก ตัวเลือก>> กดปุ่ม ตกลง ปุ่ม.

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

สุดท้ายนี้ควรแสดงชื่อเดือน มกราคม ดังแสดงในภาพด้านล่าง

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

  • ในทำนองเดียวกัน ทำซ้ำขั้นตอนเดิมสำหรับเดือนอื่นๆ และผลลัพธ์ของคุณควรมีลักษณะเหมือนภาพต่อไปนี้

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

อ่านเพิ่มเติม: วิธีสร้างปฏิทินใน Excel โดยไม่ต้องใช้เทมเพลต (2 ตัวอย่าง)

📌 ขั้นตอนที่ 03:ใช้ฟังก์ชัน Excel เพื่อสร้างปฏิทินแบบไดนามิก

  • ประการที่สาม ย้ายไปยังเซลล์ B6 และป้อนสูตรที่ระบุด้านล่าง

=IF(MONTH(DATE($B$2,$B$4,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$2,$B$4,1),2))=$B$4,DATE($B$2,$B$4,1)+SEQUENCE(6,7)-WEEKDAY(DATE($B$2,$B$4,1),2),"")

ที่นี่ B2 และ B4 เซลล์ หมายถึง ปี 2022 และ เดือน ของ มกราคม ตามลำดับ

📃 หมายเหตุ: ที่ ฟังก์ชันลำดับ พร้อมใช้งานใน Excel 365, Excel 2021 และ excel สำหรับเว็บ ดังนั้นโปรดตรวจสอบให้แน่ใจว่ามีเวอร์ชันที่เข้ากันได้

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

  • ตอนนี้ ให้กดปุ่ม ENTER คีย์และสูตรจะเติมทั้งวันสำหรับ เดือน ของ มกราคม .

📃 หมายเหตุ: โปรดอย่าลืมเปลี่ยน วันที่ รูปแบบเฉพาะ dd ใน จัดรูปแบบเซลล์ โดยการกด CTRL + 1 ปุ่มบนแป้นพิมพ์ของคุณ

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ในที่สุด ผลลัพธ์ควรมีลักษณะเหมือนภาพด้านล่าง

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

📌 ขั้นตอนที่ 04:ระบุวันหยุดในปฏิทิน :

  • ในขั้นตอนที่สี่และขั้นตอนสุดท้าย ให้สร้าง รายการวันหยุด ในชีตใหม่ดังภาพด้านล่าง

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

  • จากนั้น เลือก B6:H11 เซลล์>> ไปที่ การจัดรูปแบบตามเงื่อนไข เมนูแบบเลื่อนลง>> เลือก กฎใหม่ ตัวเลือก

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ในทันที กฎการจัดรูปแบบใหม่ วิซาร์ดปรากฏขึ้น

  • ถัดไป เลือก ใช้สูตรเพื่อกำหนดเซลล์ที่จะจัดรูปแบบ ตัวเลือก
  • จากนั้น ใน คำอธิบายกฎ ป้อนสูตรต่อไปนี้

=ISNUMBER(VLOOKUP(B6,Holidays!$C:$C,1,0))

ที่นี่ B6 เซลล์ชี้ไปที่ วันจันทร์ ใน เดือน ของ มกราคม ในขณะที่ วันหยุด!$C:$C หมายถึง วันที่ ใน วันหยุด แผ่น.

รายละเอียดสูตร:

  • VLOOKUP(B6,Holidays!$C:$C,1,0)) → ฟังก์ชัน VLOOKUP ค้นหาค่าในคอลัมน์ซ้ายสุดของตาราง แล้วส่งกลับค่าในแถวเดียวกันจากคอลัมน์ที่คุณระบุ ที่นี่ B6 ( lookup_value อาร์กิวเมนต์) ถูกแมปจาก Holidays!$C:$C (table_array อาร์กิวเมนต์) อาร์เรย์ ต่อไป 1 (col_index_num อาร์กิวเมนต์) แทนหมายเลขคอลัมน์ของค่าการค้นหา สุดท้าย 0 (range_lookup อาร์กิวเมนต์) หมายถึง การจับคู่แบบตรงทั้งหมด ของค่าการค้นหา
    • ผลลัพธ์ → #N/A
  • ISNUMBER(VLOOKUP(B6,Holidays!$C:$C,1,0)) กลายเป็น
    • ISNUMBER(#N/A) → ฟังก์ชัน ISNUMBER ตรวจสอบว่าค่าเป็นตัวเลขและส่งกลับ TRUE หรือ เท็จ . ที่นี่ #N/A คือ ค่า อาร์กิวเมนต์ และเนื่องจากไม่ใช่ตัวเลข ฟังก์ชันจึงคืนค่า FALSE .
    • ผลลัพธ์ → เท็จ

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ตอนนี้ควรเน้นวันหยุดในวันที่ 1 มกราคม สีส้มสดใส

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ในลักษณะที่คล้ายกัน ทำซ้ำขั้นตอนเดียวกันสำหรับเดือนอื่นๆ และผลลัพธ์ของคุณควรมีลักษณะเหมือนภาพหน้าจอที่แสดงด้านล่าง

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

วิธีการสร้างปฏิทินรายเดือน

ถ้าคุณต้องการสร้างปฏิทินรายเดือน ? คุณครอบคลุมวิธีการต่อไปของเราแล้ว! เราจะใช้ รหัส VBA เพื่อให้งานของเราเป็นอัตโนมัติ ดังนั้นเรามาดูการทำงานกัน

📌 ขั้นตอน :

  • ก่อนอื่น ให้ไปที่ นักพัฒนา แท็บ>> คลิก Visual Basic ปุ่ม.

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ซึ่งจะเปิด ตัวแก้ไข Visual Basic ในหน้าต่างใหม่

  • ในขั้นตอนต่อไปนี้ ไปที่ แทรก แท็บ>> เลือก โมดูล .

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

เพื่อความสะดวกในการอ้างอิง คุณสามารถคัดลอกโค้ดจากที่นี่แล้ววางลงในหน้าต่างดังที่แสดงด้านล่าง

Sub CalendarMaker()
'This code was taken from extendoffice.com
 ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
 Scenarios:=False
 Application.ScreenUpdating = False
 On Error GoTo MyErrorTrap
 
 Range("a1:g14").Clear
 MyInput = InputBox("Type in Month and year for Calendar ")
 If MyInput = "" Then Exit Sub
 StartDay = DateValue(MyInput)
 If Day(StartDay) <> 1 Then
 StartDay = DateValue(Month(StartDay) & "/1/" & _
 Year(StartDay))
 End If
 
 Range("a1").NumberFormat = "mmmm yyyy"
 With Range("a1:g1")
 .HorizontalAlignment = xlCenterAcrossSelection
 .VerticalAlignment = xlCenter
 .Font.Size = 18
 .Font.Bold = True
 .RowHeight = 35
 End With

 With Range("a2:g2")
 .ColumnWidth = 11
 .VerticalAlignment = xlCenter
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlCenter
 .Orientation = xlHorizontal
 .Font.Size = 12
 .Font.Bold = True
 .RowHeight = 20
 End With

 Range("a2") = "Sunday"
 Range("b2") = "Monday"
 Range("c2") = "Tuesday"
 Range("d2") = "Wednesday"
 Range("e2") = "Thursday"
 Range("f2") = "Friday"
 Range("g2") = "Saturday"

 With Range("a3:g8")
 .HorizontalAlignment = xlRight
 .VerticalAlignment = xlTop
 .Font.Size = 18
 .Font.Bold = True
 .RowHeight = 21
 End With

 Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
 DayofWeek = Weekday(StartDay)
 CurYear = Year(StartDay)
 CurMonth = Month(StartDay)
 FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
 Select Case DayofWeek
 Case 1
 Range("a3").Value = 1
 Case 2
 Range("b3").Value = 1
 Case 3
 Range("c3").Value = 1
 Case 4
 Range("d3").Value = 1
 Case 5
 Range("e3").Value = 1
 Case 6
 Range("f3").Value = 1
 Case 7
 Range("g3").Value = 1
 End Select

 For Each cell In Range("a3:g8")
 RowCell = cell.Row
 ColCell = cell.Column
 If cell.Column = 1 And cell.Row = 3 Then
 ElseIf cell.Column <> 1 Then
 If cell.Offset(0, -1).Value >= 1 Then
 cell.Value = cell.Offset(0, -1).Value + 1

 If cell.Value > (FinalDay - StartDay) Then
 cell.Value = ""
 Exit For
 End If
 End If
 
 ElseIf cell.Row > 3 And cell.Column = 1 Then
 cell.Value = cell.Offset(-1, 6).Value + 1
 If cell.Value > (FinalDay - StartDay) Then
 cell.Value = ""
 Exit For
 End If
 End If
 Next

 For x = 0 To 5
 Range("A4").Offset(x * 2, 0).EntireRow.Insert
 With Range("A4:G4").Offset(x * 2, 0)
 .RowHeight = 65
 .HorizontalAlignment = xlCenter
 .VerticalAlignment = xlTop
 .WrapText = True
 .Font.Size = 10
 .Font.Bold = False
 .Locked = False
 End With

 With Range("A3").Offset(x * 2, 0).Resize(2, _
 7).Borders(xlLeft)
 .Weight = xlThick
 .ColorIndex = xlAutomatic
 End With

 With Range("A3").Offset(x * 2, 0).Resize(2, _
 7).Borders(xlRight)
 .Weight = xlThick
 .ColorIndex = xlAutomatic
 End With
 Range("A3").Offset(x * 2, 0).Resize(2, 7).BorderAround _
 Weight:=xlThick, ColorIndex:=xlAutomatic
 Next
 If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _
 .Resize(2, 8).EntireRow.Delete

 ActiveWindow.DisplayGridlines = False
 ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
 Scenarios:=True

 ActiveWindow.WindowState = xlMaximized
 ActiveWindow.ScrollRow = 1

 Application.ScreenUpdating = True
 Exit Sub

MyErrorTrap:
 MsgBox "You may not have entered your Month and Year correctly." _
 & Chr(13) & "Spell the Month correctly" _
 & " (or use 3 letter abbreviation)" _
 & Chr(13) & "and 4 digits for the Year"
 MyInput = InputBox("Type in Month and year for Calendar")
 If MyInput = "" Then Exit Sub
 Resume
 End Sub

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

  • ในทางกลับกัน ให้ปิด VBA หน้าต่าง>> คลิก มาโคร ปุ่ม.

ซึ่งจะเปิด มาโคร กล่องโต้ตอบ

  • ตามนี้ ให้เลือก เครื่องมือสร้างปฏิทิน มาโคร>> กด เรียกใช้ ปุ่ม.

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ตอนนี้จะเป็นการเปิดช่องป้อนข้อมูล>> ใส่ ชื่อเดือน และ ปี ดังที่แสดงด้านล่าง

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

ต่อมาผลลัพธ์ควรมีลักษณะตามภาพด้านล่าง

วิธีสร้างปฏิทินรายปีใน Excel (ด้วยขั้นตอนง่ายๆ)

บทสรุป

ฉันหวังว่าบทความนี้จะช่วยให้คุณเข้าใจวิธีสร้างปฏิทินรายปีใน Excel หากคุณมีคำถามใด ๆ โปรดแสดงความคิดเห็นด้านล่าง นอกจากนี้ หากคุณต้องการอ่านบทความลักษณะนี้เพิ่มเติม คุณสามารถไปที่เว็บไซต์ของเรา ExcelDemy ผู้ให้บริการโซลูชัน Excel แบบครบวงจร

บทความที่เกี่ยวข้อง

  • วิธีการสร้างปฏิทินเปล่าใน Excel (ดาวน์โหลดเทมเพลตฟรี)