ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: wshcw

[Excel 函数与公式] [56期函数]反查日期——农历日期转为公历日期

[复制链接]

TA的精华主题

TA的得分主题

发表于 2010-2-1 14:00 | 显示全部楼层
原帖由 lzzgzby 于 2009-12-30 15:56 发表
A.B.E列为已知列
384
=INDEX(A:A,MATCH(--LEFT(TEXT(G8,"e"),4),YEAR(A$2:A$2491),)+MATCH(INDEX(E:E,TEXT(SUBSTITUTE(MID(SUBSTITUTE(TEXT(G8,"-m"),"-",REPT(" ",8)),9,8),"闰",),"[=12]!11;0")+1),OFFSET(B$1,M ...

请确认日期
2033-11-25

TA的精华主题

TA的得分主题

发表于 2010-2-1 15:09 | 显示全部楼层
原帖由 函数菜鸟 于 2010-1-22 22:28 发表
=LOOKUP(LEFT(SUBSTITUTE(G8,"闰",),6)+99,IF(B$2:B$2491=IF(COUNTIF(G8,"*闰*"),"闰",)&INDEX(E:E,1+MONTH(TEXT(LEFT(SUBSTITUTE(G8,"闰",),7),"0;@!1"))),A$2:A$2491+ABS(RIGHT(TEXT(G8,"d"),2))-1))
数组公式
没 ...

6楼请确认
2033-闰11-5

TA的精华主题

TA的得分主题

发表于 2010-2-1 15:10 | 显示全部楼层
原帖由 lanyuu 于 2010-1-21 14:05 发表
公式写出来了,没有用辅助列267个字符,但是数组公式速度无法忍受


速度有所改善,可以忍受,380字符,不知道是否能精简

5楼最后附件请确认
1900-1-28

TA的精华主题

TA的得分主题

发表于 2010-2-1 16:04 | 显示全部楼层
原帖由 donghan 于 2010-2-1 15:10 发表

5楼最后附件请确认
1900-1-28

谢谢,不要意思,误人子弟了,没注意,1月份的全不对
应该是i8=INDEX($A$1:$A$2492,MATCH(IF(ISERROR(FIND("闰",G8)),"","闰")&INDEX($E$2:$E$13,SUBSTITUTE(MID(TEXT(SUBSTITUTE(G8,"闰",""),"e-mm-dd"),6,2),"-","")),OFFSET($B$1,SMALL(IF($B$2:$B$2491=$E$2,ROW($B$2:$B$2491),2492),LEFT(TEXT(G8,"e-mm-dd"),4)-1899)-1,0,13),0)+SMALL(IF($B$2:$B$2491=$E$2,ROW($B$2:$B$2491),2492),LEFT(TEXT(G8,"e-mm-dd"),4)-1899)-1)+RIGHT(TEXT(SUBSTITUTE(G8,"闰",""),"e-mm-dd"),2)-1

TA的精华主题

TA的得分主题

发表于 2010-2-1 21:19 | 显示全部楼层
使用辅助列后速度应该没问题,287字符

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-2-1 22:47 | 显示全部楼层
原帖由 lanyuu 于 2010-2-1 21:19 发表
使用辅助列后速度应该没问题,287字符

思路很不错,学习你的公式,顺便简化一点:
=SMALL(IF(B$2:B$2491=E$2,ROW(B$1:B$2490),5^5),LEFT(TEXT(G8,"e"),4)-1899)
=OFFSET(A$1,MATCH(IF(COUNTIF(G8,"*闰*"),"闰",)&INDEX(E$2:E$13,SUBSTITUTE(MID(TEXT(SUBSTITUTE(G8,"闰",),"e-mm"),6,2),"-",)),OFFSET(B$1,H8,,13),)+H8-1,)+ABS(-RIGHT(TEXT(G8,"dd"),2))-1

[ 本帖最后由 wshcw 于 2010-2-1 22:59 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

TA的精华主题

TA的得分主题

发表于 2010-2-5 19:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 11楼 donghan 的帖子

=INDEX(A:A,MATCH(--LEFT(TEXT(G8,"e"),4),YEAR(A$2:A$2491),)+MATCH(INDEX(E:E,TEXT(SUBSTITUTE(MID(SUBSTITUTE(TEXT(G8,"-m"),"-",REPT(" ",8)),9,8),"闰",),"[=12]!11;0")+1),OFFSET(B$1,MATCH(--LEFT(TEXT(G8,"e"),4),YEAR(A$2:A$2491),),,14),)+(SUBSTITUTE(MID(SUBSTITUTE(TEXT(G8,"-m"),"-",REPT(" ",8)),9,8),"闰",)="12")+IF(ISERR(-G8),,(YEAR(G8)=2033)-(MONTH(G8)=11))+COUNTIF(G8,"*闰*"))+ABS(-RIGHT(TEXT(G8,"d"),2))-1

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-2-5 22:54 | 显示全部楼层
汗,竞赛期间原来只有donghan和子元女王两人做对,不过lanyuu,函数菜鸟两人公式完美得不错,评分就不改了.

TA的精华主题

TA的得分主题

发表于 2010-12-23 11:00 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
这个不错,很实用,不过农历速查表里的数字有些是不准确的,比如公历1955/8/6,农历是6/19,在该表中反映的是6/20,农历月分对照的起始日有偏差

总体来说很实用

TA的精华主题

TA的得分主题

发表于 2011-3-4 03:18 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 webspecial 于 2010-12-23 11:00 发表
这个不错,很实用,不过农历速查表里的数字有些是不准确的,比如公历1955/8/6,农历是6/19,在该表中反映的是6/20,农历月分对照的起始日有偏差

总体来说很实用

  & "B5500CE,535157F,4DA00D6,A5B00CB,457037C,52B00D4,A9A0883,E9500DA,6AA00D0,AEA0680," _
修改为
& "B5500CE,535157F,4DA00D6,A5B00CB,457137C,52B00D4,A9A0883,E9500DA,6AA00D0,AEA0680," _
试试
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-4 02:25 , Processed in 0.055071 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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