excel如何将阴历转换成阳历

作者&投稿:褚贡 (若有异议请与网页底部的电邮联系)
~ 结合前人经验,站在巨人肩膀上做出来的版本。主要改善的有如下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月特别处理。
TEXT(TEXT(A1," [$-130000]m")-1,"[DBNum1]"
* 我是2020年8月开始做的日历,所以在解决闰四月这个问题的时候,采取了简单粗暴的办法,就是除了上述正月以外的月份统统都减去1来计算,而没有考虑2、3、4(闰)月份的问题。实际使用中,针对不同年份的农历闰月问题,可以在闰月前采用不减一的公式,即手工去掉上面所有的“-1”,而自闰月后采用减一的公式。因为Excel无法计算农历闰月,所以只能这样曲线救国了。
)))))
&"月",
* 到这里为止,解决了农历初一显示为月份的问题。从第二行开始,也可以单独用于农历月份。

下面开始是解决农历初一以外的日期问题,同时为了解决上面列的第二点改善,也做了简单粗暴的设计。
IF(TEXT(A1,"[$-130000]d")-9<1,"初"&TEXT(RIGHT(TEXT(A1," [$-130000]d"),1)*1,"[DBNum1]d"),
* 初一在之前的if里已经处理过了,所以这里简单的用日期-9<1就可以解决初二到初九的问题了。
IF(TEXT(A1,"[$-130000]d")="10","初十",
* 在上面没有才用日期-9≤1把初十解决掉,是因为在实践中发现那样子初十会显示为“初〇”,问题根源疑似是由TEXT(RIGHT(TEXT(A1," [$-130000]d"),1)*1,"[DBNum1]d")这段语句造成的。这里我又采取了简单粗暴的办法,就是另起一行,把初十单独拉出来做。
IF(TEXT(A1,"[$-130000]d")-19<1,"十"&TEXT(RIGHT(TEXT(A1," [$-130000]d"),1)*1,"[DBNum1]d"),
* 这里是解决十一到十九之间的问题,就直接显示十一到十九,逻辑为“十”加上个位的一到九,其中个位的一到九就是通过上述这段语句TEXT(RIGHT(TEXT(A1," [$-130000]d"),1)*1,"[DBNum1]d") 解决的
IF(TEXT(A1,"[$-130000]d")="20","二十",
* 这里是单独解决二十,理由同上面初十
IF(TEXT(A1,"[$-130000]d")-29<1,"廿"&TEXT(RIGHT(TEXT(A1," [$-130000]d"),1)*1,"[DBNum1]d"),
* 这里是解决廿一到廿九,逻辑同十一到十九,下面三十和卅一逻辑基本同上。做完之后才发现阴历似乎并没有三十一号。。。。然而也懒得再去验证和修改了。
IF(TEXT(A1,"[$-130000]d")="30","三十",
IF(TEXT(A1,"[$-130000]d")-39<1,"卅"&TEXT(RIGHT(TEXT(A1," [$-130000]d"),1)*1,"[DBNum1]d"),
""))))))))


怎样用EXCEL把阴历生成28宿
…直到第二十八宿的虚宿,接下来可以用个技巧,选择B2:B29区域,在选项的高级中,自定义序列,导入这个28宿为自定义序列。这样在二月初一的C2单元格中输入对应的星宿壁宿,就可以往下拖了,会按导入的定义序列填充。把十二个月都填满。并把工作表命名为“星宿表”2. 在其他工作表中,只要有了农历...

excel阳历转阴历函数
在阴历中输入公式=TEXT(A2,"[$-130000]yyyy-m-d")。注:A2为阳历日期

在EXCEl中阴阳历生日转换及提醒
1.比如今天是2010年9月2日,用以下公式就可以得出农历七月二十四:2.虽然在遇到闰月时,显示结果有点差强人意,如下图中,2010年2月9日的农历应是十二月二十六,但因为那年有个闰五月,就无辜多出来一个月了。不过总比编代码要快捷多了,而且闰月也不是天天有。3.假如把公式改成:=MID("甲乙丙...

怎么在EXCEL用函数把公历日期变成阴历
公历转农历模块 '原创:互联网 '修正:阿勇 2005\/1\/12 '\/\/ 农历数据定义 \/\/ '先以 H2B 函数还原成长度为 18 的字符串,其定义如下:'前12个字节代表1-12月:1为大月,0为小月;压缩成十六进制(1-3位)'第13位为闰月的情况,1为大月30天,0为小月29天;(4位)'第14位为闰月的月份,如果...

在excel如何将时间阳历转变响应阴历时间
此题不是问题,是一个大工程 需具备相当高的Excel\/VBA,如假设要 1000年(如 1501年至2500年)就算是职业编程师, 还需花数以百计小时去找寻及输入有关阴阳历的换算资料 因为 任何数学上的运算都没法求出阴阳历的换算 如要求只是一年有效, 便较容易 应楼主在百度消息要求做1年 刚花了差不多半小时...

excel中的条件格式怎么用啊,我在D列中显示日期有阴历和阳历,我想让他们...
excel中的条件格式怎么用啊,我在D列中显示日期有阴历和阳历,我想让他们用不同的颜色填充。 阴历的填充成红色,阳历的填充成蓝色,怎么操作啊?谢谢各位。... 阴历的填充成红色,阳历的填充成蓝色,怎么操作啊?谢谢各位。 展开  我来答 1个回答 #热议# 你发朋友圈会使用部分人可见功能吗?

Excel 阴历转换阳历的问题
比如数据在a1 在b1输入 =LOOKUP(LEFT(A1,FIND("月",A1,1)-1),{"八","二","九","六","七","三","十","十二","十一","四","五","一"},{8,2,9,6,7,3,10,12,11,4,5,1})&"."&LOOKUP(MID(A1,FIND("月",A1,1)+1,3),{"初八","初二","初九","初六","初七"...

在excel中如何按出生年月排序
材料\/工具:Excel2010 1、首先,我们选中“出生日期”所在单元格区域,对其进行格式化操作,以确保此列数据的格式均为“日期”类型。右击单元格区域,选择“设置单元格格式”项。2、从打开的“设置单元格格式”窗口中,切换到“数字”选项卡, 从“分类”列表中选择“日期”,同时根据需要选择一种日期格式...

Excel日历备忘录制作教程,日程管理工具
Excel日历备忘录制作教程:高效管理日常与重要事件让工作与生活井然有序,这款Excel模板专为长期规划和日程管理设计,支持阳历、阴历以及节假日显示,助你轻松记录员工生日、年度结算、工作节点和生活纪念日。以下是详细的制作步骤和技巧:规划布局: 以平铺式展示,每个sheet对应一个月份,如"202212",确保日期...

怎么在excel2007中,将阳历日期批量转为阴历
EXCEL本身没有这个功能,但是通过VBA可以转,但是也很麻烦,其实生日登记的是阴历还是阳历没太大关系啊,或者你到你们公司的HR那边看看有没有身份证号码的登记,如果有的话,用VLOOKUP把身份证号码匹配过来,通过公式可以获得每个人的准确生日日期。

丹巴县18330401271: 农历转公历 - Excel里面农历转公历的函数公式应该是怎么样的呢?求Excel?
毋峰前列: 这个……说实在的,比较难,需要有一份公历农历转换表,然后再用查询引用函数来计算,没有这个,宏也无从下手.

丹巴县18330401271: 如何将Excel里面的农历日期转换成新历? -
毋峰前列: 不靠谱~ 公式转换的只能是大概,天干地支的年算法很少有正好初一就翻篇的,还有闰月的...要想准确的最好还是对着日历查,或者找找他身份证号

丹巴县18330401271: 在EXECL中有没有阴历阳历互转的公式或函数? -
毋峰前列: 假设A1单元格为国历日期:1980-2-15 那么公式:=TEXT(A1,

丹巴县18330401271: 在Excel中怎样将通用日期转换成儒历日? -
毋峰前列: 你指的是儒略日吧? 下图得到的是儒略日: 下图得到的是距离公元2000年元旦的天数: 以上函数为本人开发的Excel插件中的函数,此插件实现公、农历互转,天数计算,日期计算,星期计算等这几个功能,后续将逐步完善其它功能. 需要的话可以追问.

丹巴县18330401271: 由阴历换算成阳历的公式 -
毋峰前列: 阳历日期推算阴历日期的方法:前已述及阴历日期是以月亮的圆缺为计月单位,其以逢朔为初一,以月望为十五(大月为十六日),以月晦为二十九日(大月为三十日).然而目前记时通常用阳历日期表达,如欲将阳历日期换算成阴历日期可以...

丹巴县18330401271: 阴历和阳历怎么换算 -
毋峰前列: 阴历阳历转换:阴历阳历转换比较复杂,一般阴历日期大概落后阳历日期一个月,如果要转换可以借助万年历来查询.而且国际通用的历法是以一个太阳回归年为周期,谓之太阳历,简称为阳历,全球公用,故亦称为公历,阳历即是公历.另外,中国传统的历法自夏朝始,称为夏历,是以月球绕地球一周为一月,十二月为一年,月亮号为太阴,故谓之太阴历,简称为阴历.由于阴历的一年只有354天,少于太阳回归年的365天,所以夏历采用置闰月的方法,使得阴历的年份与阳历的年份大概保持一致.所以夏历将太阴历配合了闰年及二十四节气,使得太阴历的年周期同步于太阳历.中国夏历其实是阴阳合历.

丹巴县18330401271: 有没有什么函数公式可以将阴历换成阳历,阳历又可以转换成阴历 -
毋峰前列: 没有公式的,阳历换算都是查表实现,可以利用表上只存每个月1号的数据来稍微简化.

丹巴县18330401271: 农历日期和公历日期怎么转换, -
毋峰前列: 我做计算器的,这个就是转化,你看哈嘛! //将日期换算为公历的天数 private int toJulian(){ int jy=year; if(year<0) jy++; int jm=month; if(month>2) jm++; else{ j...

丹巴县18330401271: 如何把Excel表格19680525(阳历)日期格式改为1968.05.25(阳历) -
毋峰前列: =left(a1,4)&"."&mid(a1,5,2)&"."&right(a1,2) a1为“19680525”所在单元格

丹巴县18330401271: 07EXCEL如何使用农历 -
毋峰前列: 可以这样试一下:EXCEL2007中可以直接做到,例如TEXT(日期,"[$-130000]e-m-d"),可返回日期的阿拉伯数字的农历年月日,中文农历转换公式如下:B2单元格=MID("庚辛壬癸甲乙丙丁戊...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网