1樓:
公曆轉農曆,如圖例:
b2="農曆"&text(a2,"[$-130000]m月d日")----限2007版以上
農曆閏月月份會加 1,如潤7月會顯示8月,8月順延為9月….,12月順延為13月。
b2=lookup(--substitute(substitute(a2,-30,-28),-29,-27),--text((left(a2,5)&"1/1")+row($1:$400),"[$-130000]yyyy/m/d"),(left(a2,5)&"1/1")+row($1:$400))+(--right(a2,2)>28)*2
驗算:c2="農曆"&text(b2,"[$-130000]m月d日")
2樓:不見枝葉
有的,我這裡就有,是一個外掛,可以實現互轉,非常強大。
密碼:699i
在excel中怎樣把公曆轉換成農曆
3樓:匿名使用者
dim weekname(7), monthadd(11), nonglidata(99), tiangan(9), dizhi(11), shuxiang(11), dayname(30), monname(12)
dim curtime, curyear, curmonth, curday, curweekday
dim gonglistr, weekdaystr, nonglistr, nonglidaystr
dim i, m, n, k, isend, bit, thedate
private sub form_load()
'獲取當前系統時間
curtime = now()
'星期名
weekname(0) = " * "
weekname(1) = "星期日"
weekname(2) = "星期一"
weekname(3) = "星期二"
weekname(4) = "星期三"
weekname(5) = "星期四"
weekname(6) = "星期五"
weekname(7) = "星期六"
'天干名稱
tiangan(0) = "甲"
tiangan(1) = "乙"
tiangan(2) = "丙"
tiangan(3) = "丁"
tiangan(4) = "戊"
tiangan(5) = "己"
tiangan(6) = "庚"
tiangan(7) = "辛"
tiangan(8) = "壬"
tiangan(9) = "癸"
'地支名稱
dizhi(0) = "子"
dizhi(1) = "醜"
dizhi(2) = "寅"
dizhi(3) = "卯"
dizhi(4) = "辰"
dizhi(5) = "巳"
dizhi(6) = "午"
dizhi(7) = "未"
dizhi(8) = "申"
dizhi(9) = "酉"
dizhi(10) = "戌"
dizhi(11) = "亥"
'屬相名稱
shuxiang(0) = "鼠"
shuxiang(1) = "牛"
shuxiang(2) = "虎"
shuxiang(3) = "兔"
shuxiang(4) = "龍"
shuxiang(5) = "蛇"
shuxiang(6) = "馬"
shuxiang(7) = "羊"
shuxiang(8) = "猴"
shuxiang(9) = "雞"
shuxiang(10) = "狗"
shuxiang(11) = "豬"
'農曆日期名
dayname(0) = "*"
dayname(1) = "初一"
dayname(2) = "初二"
dayname(3) = "初三"
dayname(4) = "初四"
dayname(5) = "初五"
dayname(6) = "初六"
dayname(7) = "初七"
dayname(8) = "初八"
dayname(9) = "初九"
dayname(10) = "初十"
dayname(11) = "十?quot;"
dayname(12) = "十二"
dayname(13) = "十三"
dayname(14) = "十四"
dayname(15) = "十五"
dayname(16) = "十六"
dayname(17) = "十七"
dayname(18) = "十八"
dayname(19) = "十九"
dayname(20) = "二十"
dayname(21) = "廿一"
dayname(22) = "廿二"
dayname(23) = "廿三"
dayname(24) = "廿四"
dayname(25) = "廿五"
dayname(26) = "廿六"
dayname(27) = "廿七"
dayname(28) = "廿八"
dayname(29) = "廿九"
dayname(30) = "三十"
'農曆月份名
monname(0) = "*"
monname(1) = "正"
monname(2) = "二"
monname(3) = "三"
monname(4) = "四"
monname(5) = "五"
monname(6) = "六"
monname(7) = "七"
monname(8) = "八"
monname(9) = "九"
monname(10) = "十"
monname(11) = "十一"
monname(12) = "臘"
'公曆每月前面的天數
monthadd(0) = 0
monthadd(1) = 31
monthadd(2) = 59
monthadd(3) = 90
monthadd(4) = 120
monthadd(5) = 151
monthadd(6) = 181
monthadd(7) = 212
monthadd(8) = 243
monthadd(9) = 273
monthadd(10) = 304
monthadd(11) = 334
'農曆資料
nonglidata(0) = 2635
nonglidata(1) = 333387
nonglidata(2) = 1701
nonglidata(3) = 1748
nonglidata(4) = 267701
nonglidata(5) = 694
nonglidata(6) = 2391
nonglidata(7) = 133423
nonglidata(8) = 1175
nonglidata(9) = 396438
nonglidata(10) = 3402
nonglidata(11) = 3749
nonglidata(12) = 331177
nonglidata(13) = 1453
nonglidata(14) = 694
nonglidata(15) = 201326
nonglidata(16) = 2350
nonglidata(17) = 465197
nonglidata(18) = 3221
nonglidata(19) = 3402
nonglidata(20) = 400202
nonglidata(21) = 2901
nonglidata(22) = 1386
nonglidata(23) = 267611
nonglidata(24) = 605
nonglidata(25) = 2349
nonglidata(26) = 137515
nonglidata(27) = 2709
nonglidata(28) = 464533
nonglidata(29) = 1738
nonglidata(30) = 2901
nonglidata(31) = 330421
nonglidata(32) = 1242
nonglidata(33) = 2651
nonglidata(34) = 199255
nonglidata(35) = 1323
nonglidata(36) = 529706
nonglidata(37) = 3733
nonglidata(38) = 1706
nonglidata(39) = 398762
nonglidata(40) = 2741
nonglidata(41) = 1206
nonglidata(42) = 267438
nonglidata(43) = 2647
nonglidata(44) = 1318
nonglidata(45) = 204070
nonglidata(46) = 3477
nonglidata(47) = 461653
nonglidata(48) = 1386
nonglidata(49) = 2413
nonglidata(50) = 330077
nonglidata(51) = 1197
nonglidata(52) = 2637
nonglidata(53) = 268877
nonglidata(54) = 3365
nonglidata(55) = 531109
nonglidata(56) = 2900
nonglidata(57) = 2922
nonglidata(58) = 398042
nonglidata(59) = 2395
nonglidata(60) = 1179
nonglidata(61) = 267415
nonglidata(62) = 2635
nonglidata(63) = 661067
nonglidata(64) = 1701
nonglidata(65) = 1748
nonglidata(66) = 398772
nonglidata(67) = 2742
nonglidata(68) = 2391
nonglidata(69) = 330031
nonglidata(70) = 1175
nonglidata(71) = 1611
nonglidata(72) = 200010
nonglidata(73) = 3749
nonglidata(74) = 527717
nonglidata(75) = 1452
nonglidata(76) = 2742
nonglidata(77) = 332397
nonglidata(78) = 2350
nonglidata(79) = 3222
nonglidata(80) = 268949
nonglidata(81) = 3402
nonglidata(82) = 3493
nonglidata(83) = 133973
nonglidata(84) = 1386
nonglidata(85) = 464219
nonglidata(86) = 605
nonglidata(87) = 2349
nonglidata(88) = 334123
nonglidata(89) = 2709
nonglidata(90) = 2890
nonglidata(91) = 267946
nonglidata(92) = 2773
nonglidata(93) = 592565
nonglidata(94) = 1210
nonglidata(95) = 2651
nonglidata(96) = 395863
nonglidata(97) = 1323
nonglidata(98) = 2707
nonglidata(99) = 265877
'生成當前公曆年、月、日 ==> gonglistr
curyear = year(curtime)
curmonth = month(curtime)
curday = day(curtime)
gonglistr = curyear & "年"
if (curmonth < 10) then
gonglistr = gonglistr & "0" & curmonth & "月"
else
gonglistr = gonglistr & curmonth & "月"
end if
if (curday < 10) then
gonglistr = gonglistr & "0" & curday & "日"
else
gonglistr = gonglistr & curday & "日"
end if
'生成當前公曆星期 ==> weekdaystr
curweekday = weekday(curtime)
weekdaystr = weekname(curweekday)
'計算到初始時間2023年2月8日的天數:1921-2-8(正月初一)
thedate = (curyear - 1921) * 365 + int((curyear - 1921) / 4) + curday + monthadd(curmonth - 1) - 38
if ((curyear mod 4) = 0 and curmonth > 2) then
thedate = thedate + 1
end if
'計算農曆天干、地支、月、日
isend = 0
m = 0
do if (nonglidata(m) < 4095) then
k = 11
else
k = 12
end if
n = k
do if (n < 0) then
exit do
end if
'獲取nonglidata(m)的第n個二進位制位的值
bit = nonglidata(m)
for i = 1 to n step 1
bit = int(bit / 2)
next
bit = bit mod 2
if (thedate <= 29 + bit) then
isend = 1
exit do
end if
thedate = thedate - 29 - bit
n = n - 1
loop
if (isend = 1) then
exit do
end if
m = m + 1
loop
curyear = 1921 + m
curmonth = k - n + 1
curday = thedate
if (k = 12) then
if (curmonth = (int(nonglidata(m) / 65536) + 1)) then
curmonth = 1 - curmonth
elseif (curmonth > (int(nonglidata(m) / 65536) + 1)) then
curmonth = curmonth - 1
end if
end if
'生成農曆天干、地支、屬相 ==> nonglistr
nonglistr = "農曆" & tiangan(((curyear - 4) mod 60) mod 10) & dizhi(((curyear - 4) mod 60) mod 12) & "年"
nonglistr = nonglistr & "(" & shuxiang(((curyear - 4) mod 60) mod 12) & ")"
'生成農曆月、日 ==> nonglidaystr
if (curmonth < 1) then
nonglidaystr = "閏" & monname(-1 * curmonth)
else
nonglidaystr = monname(curmonth)
end if
nonglidaystr = nonglidaystr & "月"
nonglidaystr = nonglidaystr & dayname(curday)
msgbox nonglistr & nonglidaystr
end sub
參考資料:http://www.
wangchao.net.cn/bbsshowlist.
農曆和公曆節日有哪些?蠻高分了,中國公曆和農曆的所有節日
陽曆 1.1元旦,2.14情人節,3.8婦女節,4.1愚人節,5.1勞動節,5.31無煙日,6.1兒童節,6.5環境日,6.6愛眼日,7.1建黨日,7.7七七事變,8.1建軍日,8.6電影節,9.10教師節,10.1國慶節,10.31萬聖節,12.24平安夜,12.25聖誕節。陰曆 1.1春節,1....
怎麼樣用公曆推算農曆,公曆和農曆怎樣區別
銀盤子 的祕密 萬年曆是一種將公曆 農曆 干支歷相互對應,編排在一起的歷學工具書。查用萬年曆,主要是使用年曆中的干支紀時。干支紀時是我國獨創的歷史最悠久的歷法。它以天象為依據,符合物候特點,體現了五行旺衰。在諸多學科中,有著其它曆法不可替代的作用。干支紀時,在中醫 氣功 周易數術 農作 曆法等領域中...
請問陰曆 農曆和公曆有什麼區別呢
陽曆,即太陽曆,是以四季迴圈的迴歸年 地球繞太陽一週 為基本週期,與月相變化無關。太陽曆歷年的平均長度等於迴歸年,歷月的日數和年的月數是人為規定。陰曆,即太陰曆 月球我國古代稱太陰 以月球圓缺的週期朔望月為基本週期。歷月平均長度29.5天,規定單數月30天,雙數月29天,12個歷月為1年,共354天...