关于作者本文由 MVP 方洁影提供。感谢 MVP 分享他/她的技术信息和个人经验。

正文这几乎是个大难题了,好像只能用代码来解决的,其实如果用2010版就不需要这么麻烦,一个 TEXT 函数就解决了:


=TEXT(NOW(),"[$-130000]YYYY-M-D")



比如今天是2010年9月2日,用以下公式就可以得出农历七月二十四:



虽然在遇到闰月时,显示结果有点差强人意,如下图中,2010年2月9日的农历应是十二月二十六,但因为那年有个闰五月,就无辜多出来一个月了。不过总比编代码要快捷多了吧,而且闰月也不是天天有。



假如把公式改成:


=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A2,"[$-130000][DBNum1]m月")&TEXT(A2,IF(--TEXT(A2,"[$-130000]d")=10,"初十",IF(--TEXT(A2,"[$-130000]d")>10,"[$-130000][DBNum1]d","初[$-130000][DBNum1]d"))),那就更像农历表示法了,不过因为农历每年开始日期都不一样,所以函数很难达到十分精确的结果,只能是将就着用。


那就更像农历的表示法了。


社区解决方案内容免责声明

MICROSOFT CORPORATION 和/或其供应商对于此处所包含信息和相关图形的适用性、可靠性或正确性不做任何保证。所有此类信息和相关图形均“按现状”提供,没有任何形式的担保。MICROSOFT 和/或其各自的供应商特此声明拒绝有关该信息和相关图形的所有担保和条件,包括对适销性、适用于某种特定用途、工艺、所有权和非侵权的所有暗含担保和条件。您明确同意在任何情况下,不论是依据合约、民事侵权、过失、无过失责任或其它条件,对于因使用本文件所包含的信息或相关图形所产生的任何直接、间接、惩罚性、附随性、特殊性、衍生性损害或任何形式的损害(包括但不限于使用的损失、数据或经营利益等损害),MICROSOFT 和/或其供应商均不负责,即使 MICROSOFT 或其供应商事先被告知有可能发生该损害赔偿时,也是如此。


需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×