ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 名课 - Power BI数据分析与可视化实战 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
12
返回列表 发新帖
楼主: 超超之道

[分享] EXCEL 公历转农历

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-11-30 16:01 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
日期        农历                                 2018-1-5        #NAME?                        1645        5                                 1648        4                                 1651        1                                 1653        6                                 1656        5                                 1659        3                                 1661        8                                 1664        6                                 1667        4

TA的精华主题

TA的得分主题

发表于 2023-2-14 10:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
2023年5月19日~6月17日转换的农历都错开一天,其余的年份没有发现错误。

TA的精华主题

TA的得分主题

发表于 2023-2-14 10:30 | 显示全部楼层
个人认为像丁酉年这种的是可以找得到规律的,但是月份不存在规律,这种问题最佳方案是网抓

TA的精华主题

TA的得分主题

发表于 2023-12-10 17:32 | 显示全部楼层
本帖最后由 XCMqxl 于 2023-12-10 17:49 编辑

农历如何转阳历vba代码,求高手

农历转公历1.rar

15.48 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2024-1-17 10:03 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
测试发现,2024/1/11—2024/2/9 月份错误,请问怎么修正,谢谢。
微信圖片_20240117095941.png

TA的精华主题

TA的得分主题

发表于 2024-1-31 19:47 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
A2 为公历 在B2 处输入以下公式 就可算出农历
=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&"年"&IF(VALUE(TEXT(A2,"[$-130000]m"))=IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),{2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7},2,0),13)+1,"闰","")&VLOOKUP(--IF(VALUE(TEXT(A2,"[$-130000]m"))>IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),{2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7},2,0),13),TEXT(A2,"[$-130000]m")-1,TEXT(A2,"[$-130000]m")),{1,"正月";2,"二月";3,"三月";4,"四月";5,"五月";6,"六月";7,"七月";8,"八月";9,"九月";10,"十月";11,"冬月";12,"腊月"},2,0)&VLOOKUP(--TEXT(A2,"[$-130000]d"),{1,"初一";2,"初二";3,"初三";4,"初四";5,"初五";6,"初六";7,"初七";8,"初八";9,"初九";10,"初十";11,"十一";12,"十二";13,"十三";14,"十四";15,"十五";16,"十六";17,"十七";18,"十八";19,"十九";20,"二十";21,"廿一";22,"廿二";23,"廿三";24,"廿四";25,"廿五";26,"廿六";27,"廿七";28,"廿八";29,"廿九";30,"三十"},2,0)

TA的精华主题

TA的得分主题

发表于 2024-1-31 19:48 | 显示全部楼层
=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&"年"&IF(VALUE(TEXT(A2,"[$-130000]m"))=IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),{2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7},2,0),13)+1,"闰","")&VLOOKUP(--IF(VALUE(TEXT(A2,"[$-130000]m"))>IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),{2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7},2,0),13),TEXT(A2,"[$-130000]m")-1,TEXT(A2,"[$-130000]m")),{1,"正月";2,"二月";3,"三月";4,"四月";5,"五月";6,"六月";7,"七月";8,"八月";9,"九月";10,"十月";11,"冬月";12,"腊月"},2,0)&VLOOKUP(--TEXT(A2,"[$-130000]d"),{1,"初一";2,"初二";3,"初三";4,"初四";5,"初五";6,"初六";7,"初七";8,"初八";9,"初九";10,"初十";11,"十一";12,"十二";13,"十三";14,"十四";15,"十五";16,"十六";17,"十七";18,"十八";19,"十九";20,"二十";21,"廿一";22,"廿二";23,"廿三";24,"廿四";25,"廿五";26,"廿六";27,"廿七";28,"廿八";29,"廿九";30,"三十"},2,0)

TA的精华主题

TA的得分主题

发表于 2024-1-31 19:48 | 显示全部楼层
=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(TEXT(A2,"[$-130000]e")-4,12)+1,1)&"年"&IF(VALUE(TEXT(A2,"[$-130000]m"))=IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),{2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7},2,0),13)+1,"闰","")&VLOOKUP(--IF(VALUE(TEXT(A2,"[$-130000]m"))>IFNA(VLOOKUP(VALUE(TEXT(A2,"[$-130000]yyyy")),{2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7},2,0),13),TEXT(A2,"[$-130000]m")-1,TEXT(A2,"[$-130000]m")),{1,"正月";2,"二月";3,"三月";4,"四月";5,"五月";6,"六月";7,"七月";8,"八月";9,"九月";10,"十月";11,"冬月";12,"腊月"},2,0)&VLOOKUP(--TEXT(A2,"[$-130000]d"),{1,"初一";2,"初二";3,"初三";4,"初四";5,"初五";6,"初六";7,"初七";8,"初八";9,"初九";10,"初十";11,"十一";12,"十二";13,"十三";14,"十四";15,"十五";16,"十六";17,"十七";18,"十八";19,"十九";20,"二十";21,"廿一";22,"廿二";23,"廿三";24,"廿四";25,"廿五";26,"廿六";27,"廿七";28,"廿八";29,"廿九";30,"三十"},2,0)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-10-21 19:25 | 显示全部楼层
本帖最后由 咔咔乱坠 于 2024-10-21 21:10 编辑
hjp3798 发表于 2024-1-31 19:48
=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A2,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD ...
牛,老哥,验证了几个关键日期节点,大致准确的
目前来说,公历1960/1/28-2050/12/31的公历-农历转化是正常的
我后面把逻辑稍作简化了一下
  1. LET(公,A130:A135,闰,{1900,8;1903,5;1906,4;1909,2;1911,6;1914,5;1917,2;1919,7;1922,5;1925,4;1928,2;1930,6;1933,5;1936,3;1938,7;1941,6;1944,4;1947,2;1949,7;1952,5;1955,3;1957,8;1960,6;1963,4;1966,3;1968,7;1971,5;1974,4;1976,8;1979,6;1982,4;1984,10;1987,6;1990,5;1993,3;1995,8;1998,5;2001,4;2004,2;2006,7;2009,5;2012,4;2014,9;2017,6;2020,4;2023,2;2025,6;2028,5;2031,3;2033,11;2036,6;2039,5;2042,2;2044,7;2047,5;2050,3;2052,8;2055,6;2058,4;2061,3;2063,7;2066,5;2069,4;2071,8;2074,6;2077,4;2080,3;2082,7;2085,5;2088,4;2090,8;2093,6;2096,4;2099,2},e,--TEXT(公,"[$-110000]e"),m,--TEXT(公,"[$-110000]m"),d,--TEXT(公,"[$-110000]d"),MID("甲乙丙丁戊己庚辛壬癸",MOD(e-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(e-4,12)+1,1)&"("&MID("鼠牛虎兔龙蛇马羊猴鸡狗猪",MOD(e-4,12)+1,1)&")年"&IF(m=IFNA(VLOOKUP(e,闰,2,),13)+1,"闰","")&MID("正月二月三月四月五月六月七月八月九月十月冬月腊月",IF(m>IFNA(VLOOKUP(e,闰,2,),13),m-1,m)*2-1,2)&MID("初一初二初三初四初五初六初七初八初九初十十一十二十三十四十五十六十七十八十九二十廿一廿二廿三廿四廿五廿六廿七廿八廿九三十",d*2-1,2))
复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2025-12-22 22:39 , Processed in 0.042602 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表