ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > 函数与公式 > 关于[$-130000]计算“农历”日期的探讨

关于[$-130000]计算“农历”日期的探讨

作者:绿色风 分类: 时间:2022-08-17 浏览:188
楼主
gouweicao78
【链接】
1、(算法有问题)如何用EXCEL2007方便地实现公历转换农历? http://www.exceltip.net/thread-1780-1-1.html

2、(正确但复杂)如何计算农历? http://www.exceltip.net/thread-1422-1-1.html


【问题】
      Excel 2007版开始,有不少人惊喜地发现一个“惊叹不已”的宝贝公式,即:使用[$-130000]计算农历日期。但随后不久,这个宝贝也被发现并不准确,主要存在问题有以下几点:

1、闰月问题:存在闰月的年份,会有13个月,例如:=TEXT("1988-1-19","[$-130000]yyyy-m-d")将得到1987-13-1,但实际上不能看出哪个月是闰月。
2、大小月问题:使用[$-130000]的方法,始终得到30天、29天大小月交替出现的日期,实际上农历日期可能存在连续2个30天的大月或连续2个29天的小月。
3、这个[$-130000]是什么意思?


【解惑】
由上面的问题1、问题2,可以从“农历”的算法来解惑:请看百度百科
即农历实际上是阴历与阳历结合的算法,而不是纯粹的“阴历”(即问题2中那种大小月交替出现的算法)。

也就是说[$-130000]是设置了阴历格式的日期。那么这串代码到底是怎么来的呢?有人知道,设置自定义格式为“[$-804]aaa;@”时,日期显示为“周三”之类的,其中804表示中国(中文)的区域代码。台湾的代码是404,蒙古的代码是13,甚至有人因此怀疑是不是蒙古的日历按照阴历计算……

搜索微软关于数字格式代码的含义,好不容易找到了以下这个说明(貌似适用于2002版、又写适用于2003版而实际03不能用此设置阴历):
创建符合国际惯例的自定义数字格式http://office.microsoft.com/zh-cn/excel/HA010346352052.aspx
2楼
gouweicao78
通过一番比较和摸索,现在来解说一下鲜为人知的数字格式中的代码组件(3个由16进制数字组成的代码段):

1、数字外观组件:用于指定使用不同的语言来显示数字:
十六进制数值数字形状
01西方语言
02阿拉伯印度语
03扩展阿拉伯印度语
04梵语
05孟加拉语
06果鲁穆奇语
07古吉拉特语
08奥里雅语
09泰米尔语
0A泰卢固语
0B卡纳达语
0C马拉雅拉姆语
0D泰语
0E老挝语
0F藏语
10缅甸语
11埃塞俄比亚语
12高棉语
13蒙古语
1B日语 1
1C日语 2
1D日语 3
1E简体中文 1,中文小写
1F简体中文 2,中文大写
20简体中文 3 ,全角数字
21繁体中文 1,繁体小写
22繁体中文 2,繁体大写
23繁体中文 3,全角数字
24朝鲜语 1
25朝鲜语 2
26朝鲜语 3
27朝鲜语 4

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap