excel农历,农历日期公式

  • Excel公式
  • 2023-08-21

excel农历?在农历的单元格中填入一下函数公式。=TEXT(A2,[-130000]yyyy-m-d)当中A2表示要转换的公历单元格,yyyy-m-d表示转换日期的格式,而[-130000]就是农历转换的关键。最后回车然后填充即可。若你认为这个农历的格式不好看,那么,excel农历?一起来了解一下吧。

excel日期对应的农历

最近小编陆续收到很多关于excel公式操作的提问,于是乎索性把和excel公式相关的操作来一次大整理,好像你在网上还查不到这么全的,嘿嘿!

1批量输入公式

选取要输入的区域,在编辑栏中输入公式,按CTRL+ENTER即可批量填充公式。

2批量修改公式

如果是修改公式中的相同部分,可以直接用替换功能即可。

3快速查找公式

选取表格区域 - 按Ctrl+g打开定位窗口 - 定位条件 - 公式,即可选取表中所有的公式

4显示公式部分计算结果

选取公式中的要显示的部分表达式,按F9键

按F9键后的结果

5保护公式

选取非公式的填写区域,取消单元格锁定。公式区域不必操作。

设置单元格格式后,还需要保护工作表:审阅 - 保护工作表。

6隐藏公式

隐藏公式和保护公式多了一步:选取公式所在单元格区域,设置单元格格式 - 保护 - 勾选“隐藏” - 保护工作表。

隐藏公式效果:

7显示所有公式

需要查看表中都设置了哪些公式时,你只需按alt+~组合键(或 公式选项卡 - 显示公式)

把公式转换为数物禅值

8把公式转换为数值

公式转换数值一般方法,复制 - 右键菜单上点123(值)

9显示另一个单元格的公式

如果想在B列显示A列的公式,可以通过定义名称来实现。

excel公历转农历的方法

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)

'计算到初始时间1921年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.jsp?area_id=02&board_id=01&parent_id=23361

公历转换成农历的公式用不了

结合前人经验,站在巨人肩膀上做出来的版本。主要改善的有如下2点,其次对于公式都做了注解。

1. 农历每个月初一显示为相应的月份,比如六月初一,则显示为六月,符合一般日历上显示农历的习惯。

2. 农历十号、二十号、及三十号分别显示为初十、二十、三十,二十一至二十九仍显示为廿一、廿二等,三十一也是卅一,修改了其桥隐他回答中“初一日”,“十五日”这样的显示方式,更符合习惯。

=IF(TEXT(A1,"[$-130000]d")="1",

* 如果A1格农历日期为1号,则通过下述判断显示为农历月份。"[$-130000]”是用于换算农历,后缀d表示换算出农历日期,下一行中的后缀m则是表示农历月份。

IF(TEXT(A1," [$-130000]m")*1-1=12,"腊",

* 农历十二月显示为腊月,其中[$-130000]m")*1减去1是因为2020年为农历闰4月,不减去1的话,当年农历12月会显示为十三月。

IF(TEXT(A1," [$-130000]m")*1=1," 正",

* 农历一月显示为正月,此处不减一,因为农历一月尚不涉及闰月。

IF(TEXT(A1," [$-130000]m")*1-1=10,"十",

IF(TEXT(A1," [$-130000]m")*1-1=11,"十一",

* 阿拉伯数字10及11转汉字会显示为“一十”和“一十一”这里10月和11月特别处理。

excel阴历日期对应阳历

公式差稿可以改一改:

=TEXT(A2,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A2,"[$-130000]dd"))=1,"初","")&"d")

然乱告后同样虚陪孝回车填充即可。这样就能有几月初几的显示啦。

表格农历日期怎么输入

1、YYYY年MM月DD日转换

如果遇见2018年09月01日,这种日期,我们应该如何转换呢?

YYYY年MM月DD日转YYYYMMDD

公式:「=TEXT(A2,"yyyymmdd")」

YYY年MM月DD日转YYYY/MM/DD

公式:「=TEXT(A2,"yyyy/mm/dd")」

YYYY年MM月DD日转YYYY-MM-DD

公式:「=TEXT(A2,"yyyy-mm-dd")」

YYYY年MM月DD日转YYYY.MM.DD

公式:「=TEXT(A2,"yyyy.mm.dd")」

YYYY年MM月DD日转YYYYMD

公式:「=TEXT(A2,"yyyy.m.d")」

说明:

TEXT:意思是将数值转换为按指定数字格式表示的文本。

yyyymmdd:表示年月日。

2、YYYY/MM/DD转换

如果你的日期是这样的:2018/09/01,该怎么转换成其他样式呢?其实,与第一种谨凯是一样的方法,所以在此,我就不多高晌芦重复了。

3、YYYYMMDD转换

如果输入的日期是20180901,这种类型。转换方法:

YYYYMMDD转YYYY年MM月DD日

公式:「=MID(A2,1,4)&"年"&MID(A2,5,2)&"月"&MID(A2,7,2)&"日"」

YYYYMMDD转YYYY-MM-DD

公式:「=MID(A2,1,4)&"-"&MID(A2,5,2)&"-"&MID(A2,7,2)」

YYYYMMDD转YYYY.MM.DD

公式:「=MID(A2,1,4)&"."&MID(A2,5,2)&"."&MID(A2,7,2)」

说明:

MID(A2,1,4):获取从第一个开始后4位。

以上就是excel农历的全部内容,Excel 农历转公历 比如要查找的农历日期为今年的“三月十五”,那就先将A列的格式从“常规”改为“文本”,将B列的格式从“常规”改为“日期”,然后在A2单元格内输入【2022-3-15】,内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。

猜你喜欢