2022-11-07 15:28来源:m.sf1369.com作者:宇宇
在EXCEL中把公历转换成农历的方法利用万能函数,在阴历日期的第一个单元格 输入=TEⅹT(A2,"[$-,13]YYYY-MM-DD")回车。
即选择第一个阳历日期,逗号,双引号,中括号,美元符号,杠,逗号,13,中括号,4个Y,杠,MM,杠,DD,最后补全双引号括号,回车。下拉边框填充即完成。
Excel常用的3种基本转换函数
前面学习word利用通配符替换各种数据后,接下来学习下Excel被隐藏起来的3种基本转换函数:Numberstring、Datestring、Datedif函数。
大小写转换
Numberstring函数,Numberstring函数,语法:=NUMBERSTRING(VALUE,TYPE);参数:VALUE为要转化的数字;TYPE为返回结果的类型(类型有1、2、3共三种),其中:1为汉字小写,2为汉字大写,3为汉字读数。
例如A1数据为10010那么B列=NumberString(A1,1)或者直接在新的空格直接输入需要的值;
=NumberString(10010,1) 结果为:一万○一十
=NumberString(10086,2) 结果为:壹万零壹拾
=NumberString(123456,3) 结果为:一二三四五六
这些用于大小写转换是非常方便的。
日期时间
Datestring函数
语法=Datestring(VALUE);参数:将日期转换成统一的文本格式如:A1单元格为6月6日,C1输入公式=datestring(a1),显示结果为18年06月6日。相当于函数=TEXT(A1,"yy年mm月dd日"),datestring参数更加简单。
年龄计算
Datedif函数;语法=Datedif(开始时间,结束时间,参数指标);参数:用于计算两个日期之间的某种关系,根据参数指标不同,结果不同。
"Y":时间段中的整年数。
"M":时间段中的整月数。
"D":时间段中的天数。
"MD":start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
"YM":start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD":start_date 与 end_date 日期中天数的差。忽略日期中的年。
计算年龄例子:
今天是2018年6月5日,使用datedif函数求年龄,发现只有达到了6月5日,才算一整年,不足为0;
用公式推算阴历日期:
设:公元年数-1977(或1901)=4Q+R。
则:阴历日期=14Q+10。 6(R+1)+年内日期序数-29。 5n。
(注:式中Q、R、n均为自然数,R< 4)
例:1994年5月7日的阴历日期为:
1994-1977=17=4×4+1。
故:Q=4,R=1 则:5月7日的阴历日期为:
14×4+10。
6(1+1)+(31+28+31+30+7)-29。 5n。
excel如何将日期转换为年月日格式excel表格如何转换年月日?
excel表格如何转换年月日?
1、右键单击日期所在单元格,选择【设置单元格格式】选项
2、选择【数字】栏目下的【自定义】分类
3、在类型中输入0000-00-00,然后点击下面的确定,这样就修改成功了。
使用TEXT函数就可以做到了,例如A1中为32768,在B1中输入公式:=TEXT(A1,"yyyy-mm-dd")B1中则会显示“1989-09-17”,这里的"yyyy-mm-dd"是指让前一个参数(A1)中的数值以“四位年份-两位月份-两位日子”来显示的(月份和日子不足两位时,前面自动补0)。 "yyyy-mm-dd"也可以修改为别的格式,例如这里的日期中年份想要显示为2位,可以写成"yy-mm-dd";或者是月份的“09”想显示为“9”,可以相应减少m,即"yyyy-m-dd"。中间的分隔符也可以任意修改,例如改为"yyyy年mm月dd日"的话,将会显示“1989年09月17日”这样。
可以用 Excel 将公历转农历
公历转农历只需要一个简单的公式:
=TEXT(A2,"[$-130000]yyyy-m-d")
其中,A2 表示要转化的公历日期;
yyyy-m-d 表示输入日期的格式;
[$-130000] 是表示公历转阴历的特殊参数。
操作方法:
❶ 先点选单元格,输入上述公式:
❷ 输入完公式后,只要按下【回车】键,再双击单元格右下角的「填充柄」,快速填充,对应的农历日期就全部转换完成!
例如:今天是公历 2019/7/3,那么对应的农历日期就为 2019-6-1:
美中不足的是,该公式只适用于 Excel 2010 以上的版本,且无法计算出闰月。
最简单方法就是采用转换器,阴历阳历互转、 公历农历转换器。
excel公历转农历方法一:使用text函数
A列是公历日期,我们在B1单元格输入公式:=TEXT(A1,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&"d"),下拉完成公历转农历。
excel公历转农历方法二:使用text+MID函数
A列仍然是公历,B1输入公式:=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A1,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A1,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A1,"[$-130000][DBNum1]m月d日"即可。
excel公历转农历方法三:使用text+MID+CHOOSE+YEAR函数
A1为公历,B1输入:=CHOOSE(MOD(YEAR(A1)-1900,10)+1,"庚","辛","壬","癸","甲","乙","丙","丁","戊","己")&CHOOSE(MOD(YEAR(A1)-1900,12)+1,"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥")&TEXT(A1,"[dbnum1][$-130000]年m月"&IF(--TEXT(A1,"[$-130000]d")
如果日期在d2单元格,那么输入以下公式,得到农历
=text(d2,"[$-130000]yyyy年mm月"&if(len(--text(d2,"[$-130000]dd"))=1,"初","")&"d")
主要通过日期计算类函数计算,本类函数主要用于计算日期中的年/月/日,时/分/秒等
其中【Year】函数提取年,【Month】函数提取月,【Day】函数提取日,【Hour】函数提取小时,【Minute】函数提取分钟,【SECOND】函数,【Date】函数将年月日数字拼成一个完整的日期,【Weekday】函数计算指定的若干个工作日之前或之后的日期,【Weeknum】函数计算该星期为今年第几周
1、Year函数/Month函数/Day函数/Hour函数/Minute函数/SECOND函数的语法都是一样的,基本就是输入=函数名称(serial_number)
serial_number为必填项,为需要查找的日期和时间值
如果是提取日期的话,应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入;
如果是提取时间的话,则需要使用带引号的文本字符串(例如 "6:45 PM")、十进制数(例如 0.78125 表示 6:45 PM)或其他公式或函数的结果(例如 TIMEVALUE("6:45 PM"))。
需要注意的是,无论提供的日期值的显示格式如何,YEAR、MONTH 和 DAY 函数返回的值都是公历值。
2、Date函数
函数作用为返回表示特定日期的连续序列号,即将年月日三个不同的数字组合成完整的日期。
语法为= DATE(year,month,day)
3、Weekday函数
函数作用为返回对应于某个日期的一周中的第几天。 默认情况下,天数是 1(星期日)到 7(星期六)范围内的整数。
语法为:=WEEKDAY(serial_number,[return_type])
参数介绍:
Serial_number 必填项, 一个序列号,代表尝试查找的那一天的日期;应使用 DATE 函数输入日期,或者将日期作为其他公式或函数的结果输入,例如使用函数 DATE(2008,5,23) 输入2008年5月23 日。如果日期以文本形式输入,则会出现问题。
Return_type 可选必填项, 用于确定返回值类型的数字。
使用时需要注意:
MicrosoftExcel可将日期存储为可用于计算的序列号。默认情况下,1900年1月1日的序列号是1,而2008年1月1日的序列号是39448,这是因为它距1900年1月1日有39448天。
如果serial_number当前日期基值的范围外,则返回#NUM!错误。
如果return_type超过上表中指定的范围,则#NUM!错误。
4、Weeknum函数
函数作用是返回特定日期的周数。例如,包含1月1日的周为该年的第1周,其编号为第1周。
此函数可采用两种机制:
包含1月1日的周为该年的第1周,其编号为第1周;
包含该年的第一个星期四的周为该年的第1周,其编号为第1周。此机制是ISO8601指定的方法,通常称作欧洲周编号机制。
语法为:WEEKNUM(serial_number,[return_type])
参数解释:
Serial_number 必填项,代表一周中的日期。应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数DATE(2008,5,23)输入2008年5月23日。如果日期以文本形式输入,则会出现问题。
Return_type 可选必填项,数字,确定星期从哪一天开始。默认值为1。
使用时需要注意:
如果Serial_number日期基值的范围外,则返回#NUM!错误。
如果Return_type超过上表中指定的范围,则#NUM!错误。
实例操作:
打开Excel表格,在对应的单元格内分别填写第5行的时间日期行数,按下回车确定,即可返回需要计算的时间日期数据,如图所示
学习了基础的日期时间函数,只不过是接触到Excel神奇功能的冰山一角。如果我们想要计算日期的天数差,或者计算当月有多少天,就需要使用到更专业的函数们了。
三、直接计算日期/时间
如果是标准的日期/时间格式数据的话,可以直接通过四则运算来得到结果
1、合并日期和时间
将单元格中分开的日期和时间直接合并在同一个单元格中,直接两个单元格相加
2、拆分日期和时间
用=INT(A2)计算日期,用=A2-B2,可以计算出时间
3、日期加减
3、计算间隔几天
单元格直接相减即可,需要保持两个单元格的日期格式一致
四、通过函数计算日期差值
1、DATEDIF函数
函数作用是计算两个日期之间相隔的天数、月数或年数。
语法为:=DATEDIF(start_date,end_date,unit)
start_date 必填项,表示给定期间的第一个或开始日期的日期。 日期值有多种输入方式:带引号的文本字符串(例如 "2001/1/30")、序列号(例如36921,表示2001年1月30日)或其他公式或函数的结果(例如DATEVALUE("2001/1/30"))。
end_date 必填项,用于表示时间段的最后一个(即结束)日期的日期。
Unit 必填项,表示要返回的信息类型,可填写的参数如下:
需要注意的问题:
如果tart_date大于end_date,则结果将为 #NUM!
实例演示:
Excel软件中可能不显示该函数,此时直接输入函数公式即可!
2、Edate函数
函数作用是返回表示某个日期的序列号,该日期与指定日期相隔(之前或之后)指定月份数,比如可以计算与发行日处于一月中同一天的到期日的日期。
语法为 =EDATE(start_date,months)
参数解释:
Start_date 必填项,代表开始日期的日期。应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入。例如使用函数DATE(2008,5,23)输入2008年5月23日,如果日期以文本形式输入,则会出现问题。
Months 必填项,start_date之前或之后的月份数。months为正值将生成未来日期;为负值将生成过去日期。
使用中需要注意:
如果start_date日期无效,则 EDATE 返回#VALUE! 错误值。
如果 months 不是整数,将截尾取整。
实例演示:
打开Excel表格,使用【Edate】函数,计算相隔N个月的日期。【-12】表示12个月前,【+6】表示6个月后,如图所示。
3、Eomonth函数
函数作用是返回某个月份最后一天的序列号,该月份与指定日期相隔(之后或之后)指定的月份数。使用函数 EOMONTH 可以计算正好在特定月份中最后一天到期的到期日。
语法为 =EOMONTH(start_date,months)
参数解释:
Start_date 必填项,表示开始日期的日期。应使用DATE函数输入日期,或者将日期作为其他公式或函数的结果输入。例如使用函数DATE(2008,5,23)输入2008年5月23日,如果日期以文本形式输入,则会出现问题。
Months 必填项,start_date之前或之后的月份数。months为正值将生成未来日期;为负值将生成过去日期。
使用中需要注意:
如果start_date日期无效,则 EOMONTH 返回#NUM! 错误值。
如果start_date加上月生成无效日期,则 EOMONTH 返回#NUM! 错误值。
实例演示:
打开Excel表格,使用[Eomonth]函数,计算每月最后一天,【0】表示本月,【-1】表示上个月,【1】表示下个月
excel公历转农历方法一:使用text函数A列是公历日期,我们在B1单元格输入公式:=TEXT(A1,"[$-130000]yyyy年m月"&IF(LEN(--TEXT(A1,"[$-130000]dd"))=1,"初","")&"d"),下拉完成公历转农历。excel公历转农历方法二:使用text+MID函数A列仍然是公历,B1输入公式:=MID("甲乙丙丁戊己庚辛壬癸",MOD(TEXT(A1,"[$-130000]e")-4,10)+1,1)&MID("子丑寅卯辰巳午未申酉戌亥",MOD(TEXT(A1,"[$-130000]e")-4,12)+1,1)&"年"&TEXT(A1,"[$-130000][DBNum1]m月d日"即可。excel公历转农历方法三:使用text+MID+CHOOSE+YEAR函数A1为公历,B1输入:=CHOOSE(MOD(YEAR(A1)-1900,10)+1,"庚","辛","壬","癸","甲","乙","丙","丁","戊","己")&CHOOSE(MOD(YEAR(A1)-1900,12)+1,"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥")&TEXT(A1,"[dbnum1][$-130000]年m月"&IF(--TEXT(A1,"[$-130000]d")
1、农历转换为公历,首先需要一个农历和公历的对照表 2、假设对照表的格式为:A列为农历,B列为公历。
3、此时可以用VLOOKUP函数进行转换,公式为:=VLOOKUP(需要转换的农历日期,A:B,2,0) 4、特别注意:需要转换的农历日期必须与对照表中A列格式一致。