您的位置:首頁>正文

使用Excel陣列公式自製日曆

日曆製作

自己動手用EXCEL製作日曆

網上有現成的日曆範本, 一般是整年的, 帶農曆、節氣、節日

我們今天做一個簡易的日曆, 填寫年份、月份, 就生成帶有農曆和星期的單月日曆

這個日曆可以查看從1900年1月1日開始的每個月的日曆。

做這個日曆的第一步是要先做一個西曆日歷來做輔助表

這是一個7*6的矩陣, 只需要一個陣列公式填充即可

{=IF(MONTH(DATE(YEAR(B2),MONTH(B2),1))MONTH(DATE(YEAR(B2),MONTH(B2),1)-(WEEKDAY(DATE(YEAR(B2),MONTH(B2),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1),,DATE(YEAR(B2),MONTH(B2),1)-(WEEKDAY(DATE(YEAR(B2),MONTH(B2),1))-1)+{0;1;2;3;4;5}*7+{1,2,3,4,5,6,7}-1)}

選中7*6這42個儲存格, 填入公式, 按下Ctrl+Shift+Enter三個鍵,

生成日曆。

這個公式引用的是儲存格B2的內容, 只要改變B2中的年月日, 就會自動生成這個月的日曆。

帶有農曆的日曆, 需要84個儲存格:

1、3、5、7、9、11行用來顯示西曆, 直接引用輔助表裡的西曆日曆;

2、4、6、8、10、12行用來顯示農曆, 用西曆值計算農曆, 公式:=IFERROR(TEXT(E5,IF(--TEXT(E5,[$-130000]d)=10,初十,IF(--TEXT(E5,[$-130000]d)10,[$-130000][DBNum1]d,初[$-130000][DBNum1]d))),)。

其實這個函數就是設置顯示格式的函數, 從excel2007開始, 就已經支持農曆轉換, 就是用[$-130000]d來轉換, 其他的IF語句都是為了修飾“初一”到“初十”, 和“十一”到“三十”的。

農曆年是用這個公式:=MID(甲乙丙丁戊己庚辛壬癸,MOD(TEXT(B3,[$-130000]e)-4,10)+1,1)MID(子丑寅卯辰巳午未申酉戌亥,MOD(TEXT(B3,[$-130000]e)-4,12)+1,1)年

農曆月用這個公式:=TEXT(B3,[$-130000][DBNum1]m月)

這裡引用的B3儲存格的內容不顯示:=B2-C2

儲存格B2是要顯示的年份

儲存格C2是要顯示的月份

只要修改這兩個儲存格的內容, 就會自動生成含有農曆的日曆了。

同類文章
Next Article
喜欢就按个赞吧!!!
点击关闭提示