Note: The other languages of the website are Google-translated. Back to English
登入  \/ 
x
or
x
註冊  \/ 
x

or

如何在Excel中列出一個月中的所有星期一/星期五?

在某些情況下,您可能需要在工作表中列出或顯示一個月或一年中的所有星期一或星期五。 通常,您可以使用“填充句柄”列出一系列日期,但是它無法幫助您填寫一個月或一年中的每個星期一或星期五。 本文,我將討論如何在Excel中列出一個月中的所有星期一或星期五。

用公式列出一個月或一年中的所有星期一/星期五

使用Kutools for Excel列出一個月或一年中的所有星期一/星期五


用公式列出一個月或一年中的所有星期一/星期五

以下公式可以幫助您列出一個月或一年中某個月中給定日期的所有星期一或星期五,請執行以下操作:

1. 請在單元格中輸入要列出的每個月的每個星期一或星期五的日期,例如,我將在單元格A1中輸入1/2016/1。

2. 然後輸入以下公式: =IF(WEEKDAY(EOMONTH(A1,-1)+1)=2,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(2,7))-WEEKDAY(EOMONTH(A1,-1)+1)) 進入單元格B1,然後按 Enter 獲取每月第一個星期一的密鑰。 看截圖:

doc列出所有星期一1

備註: 要獲得本月的第一個星期二:

=IF(WEEKDAY(EOMONTH(A1,-1)+1)=3,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(3,7))-WEEKDAY(EOMONTH(A1,-1)+1))

要獲得本月的第一個星期三:

=IF(WEEKDAY(EOMONTH(A1,-1)+1)=4,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(4,7))-WEEKDAY(EOMONTH(A1,-1)+1))

要獲得本月的第一個星期四:

=IF(WEEKDAY(EOMONTH(A1,-1)+1)=5,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(5,7))-WEEKDAY(EOMONTH(A1,-1)+1))

要獲得本月的第一個星期五:

=IF(WEEKDAY(EOMONTH(A1,-1)+1)=6,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(6,7))-WEEKDAY(EOMONTH(A1,-1)+1))

要獲得本月的第一個星期六:

=IF(WEEKDAY(EOMONTH(A1,-1)+1)=7,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(7,7))-WEEKDAY(EOMONTH(A1,-1)+1))

要獲得本月的第一個星期日:

=IF(WEEKDAY(EOMONTH(A1,-1)+1)=1,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(1,7))-WEEKDAY(EOMONTH(A1,-1)+1))

3. 顯示第一個星期一後,請繼續輸入以下公式: = B1 + 7 要獲取第二個星期一,然後向下拖動填充手柄以根據需要列出一個月或一年中的所有星期一,請參見屏幕截圖:

doc列出所有星期一2


使用Kutools for Excel列出一個月或一年中的所有星期一/星期五

除了上述公式之外,我在這裡可以介紹一個簡單的工具-Kutools for Excel,其 插入日期 功能,您可以盡快插入一個月中的所有星期一或星期五。

Kutools for Excel : 帶有300多個便捷的Excel加載項,可以在30天內免費試用

安裝後 Kutools for Excel,請執行以下操作: 立即下載Excel的Kutools! )

1。 選擇一個單元格以插入日期,然後單擊 Kutools > 插入 > 插入日期,請參見屏幕截圖:

2。 在 插入日期 對話框中,將顯示一個月日曆,您可以雙擊日期以將其插入到單元格中,也可以通過選中以下內容來更改日期格式 使用格式 選項以激活日期格式列錶框。 看截圖:

去下載Kutools for Excel並立即免費試用!


演示:用Kutools for Excel列出一個月或一年中的所有星期一/星期五

Kutools for Excel:具有300多個方便的Excel加載項,可以在30天內免費試用,沒有任何限制。 立即下載並免費試用!

最佳辦公效率工具

Kutools for Excel解決了您的大多數問題,並使您的生產率提高了80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過300種強大功能。 支持Office / Excel 2007-2019和365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能30天免費試用。 60天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 每天將您的工作效率提高50%,並減少數百次鼠標單擊!
officetab底部
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Scott · 4 years ago
    Thank you for the formula. I had a question about it. It does work for 2016, but when entering 1/12017, it identifies the first Monday of the month to be 1/9/17, when it's actually 1/2/17. Am I misunderstanding the formula's intent? Meaning, should I enter a different date to pull the 1/2/17 date?

    Thanks again for the help.
    • To post as a guest, your comment is unpublished.
      RS · 1 years ago
      Did not work for me on every Monday that was in a month with the first day being a Sunday,

      Given A1 is the first of the month "1/1/2020" or "1/2/2020" etc, This did work for me:


      =A1+MOD(8-WEEKDAY(A1,2),7)
    • To post as a guest, your comment is unpublished.
      Jo · 4 years ago
      It worked for me.. fo rFridays

      A1= 06/01/2017 B1= 13/01/2017= IF(WEEKDAY(EOMONTH(A1,-1)+1)=6,EOMONTH(A1,-1)+1,EOMONTH(A1,-1)+(8 + MOD(6,7))-WEEKDAY(EOMONTH(A1,-1)+1))

      20/01/2017 = IF(WEEKDAY(EOMONTH(B1,-1)+1)=6,EOMONTH(B1,-1)+1,EOMONTH(B1,-1)+(8 + MOD(6,7))-WEEKDAY(EOMONTH(B1,-1)+1))+7


      27/01/2017=IF(WEEKDAY(EOMONTH(C1,-1)+1)=6,EOMONTH(C1,-1)+1,EOMONTH(C1,-1)+(8 + MOD(6,7))-WEEKDAY(EOMONTH(C1,-1)+1))+
      • To post as a guest, your comment is unpublished.
        carrie · 4 years ago
        That doesn't help...

        super weird..2017 is the only year that it skips the 1st monday.
        • To post as a guest, your comment is unpublished.
          Pmars · 7 months ago
          The formula doesn't work for Mondays if the last day of the previous month is a Saturday (weekday no 7). The following day is therefore a Sunday (weekday no 1) and you only need add 1 day to get to a Monday. However, the formula adds 10-1=9 days and gives you the 9th January as the first Monday. There needs to be a second IF function:
          =IF(WEEKDAY(EOMONTH(A2,-1)+1)=1,EOMONTH(A2,-1)+2,IF(WEEKDAY(EOMONTH(A2,-1)+1)=2,EOMONTH(A2,-1)+1,EOMONTH(A2,-1)+(8+MOD(2,7))-WEEKDAY(EOMONTH(A2,-1)+1)))
        • To post as a guest, your comment is unpublished.
          Peter · 7 months ago
          The formula doesn't work if the last day of the previous month is a Saturday (weekday no 7). The following day is therefore a Sunday (weekday no 1) and you only need add 1 day to get to a Monday. However, the formula adds 10-1=9 days and gives you the 9th January as the first Monday. There needs to be a second IF function:
          =IF(WEEKDAY(EOMONTH(A2,-1)+1)=1,EOMONTH(A2,-1)+2,IF(WEEKDAY(EOMONTH(A2,-1)+1)=2,EOMONTH(A2,-1)+1,EOMONTH(A2,-1)+(8+MOD(2,7))-WEEKDAY(EOMONTH(A2,-1)+1)))
        • To post as a guest, your comment is unpublished.
          Pasquale · 2 years ago
          2019 too :( first wednesday is not 09 Jan?)