=IF(TODAY()<=DATE(2015,1,1),"+","-")&DATEDIF(MIN(TODAY(),DATE(2015,1,1)),MAX(TODAY(),DATE(2015,1,1)),"D")&"天"
建议在D列增加一个“年龄”列,用下面公式:
=DATEDIF(IF(LEN(A1)=15,CONCATENATE("19",MID(A1,7,2),"/",MID(A1,9,2),"/",MID(A1,11,2)),CONCATENATE(MID(A1,7,4),"/",MID(A1,11,2),"/",MID(A1,13,2))),TODAY(),"y")
可自动根据身份z得出年龄,然后再对D列用“数据-筛选-自动筛选”就可以了。
使用DateDif 函数。例如:DATEDIF("2008/3/20","2008/4/20","D")就是这两个时间的间隔是31天。
解释:这个函数是返回两个日期之间的时间间隔;最后的“D”表示返回以“日”为单位的间隔;换成"M"就是返回以“月”为单位的间隔;“Y”就是以年为单位的间隔。
用(shift+F11),或者点工作表名最后的插入新工作表。将新工作表拖动到最前面。
在A列录入你想要的连续日期
按alt+F11
在代码窗口里面录入以下内容,并按F5:
Sub 重命名()
Dim i&
For i = 2 To SheetsCount
Sheets(i)Name = Sheets(1)Cells(i, 1)
Next
End Sub
首先, 如果日期是 2011年8月1日。
那么 ymd2 与 ymd3 将计算错误
ymd1 = yyy & "年" & mmm & "月" & ddd & "日"
ymd2 = yyy & "年" & mmm & "月" & ddd - 1 & "日"
ymd3 = yyy & "年" & mmm & "月" & ddd - 2 & "日"
s1 = 0
s2 = 0
s3 = 0
strConnAcc = "select from **高温预警 where 年月日= '" & ymd1 & "'and 站点='" & righ(ii) & " '"
RsAccOpen strConnAcc, ConnAcc, 1, 1
If RsAccRecordCount > 0 Then ' 第一天,如果记录存在
s1 = 1
End If
RsAccClose
strConnAcc = "select from **高温预警 where 年月日= '" & ymd2 & "'and 站点='" & righ(ii) & " '"
RsAccOpen strConnAcc, ConnAcc, 1, 1
If RsAccRecordCount > 0 Then '第二天,如果记录存在
s2 = 1
End If
RsAccClose
strConnAcc = "select from **高温预警 where 年月日= '" & ymd3 & "'and 站点='" & righ(ii) & " '"
RsAccOpen strConnAcc, ConnAcc, 1, 1
If RsAccRecordCount > 0 Then '第三天,如果记录存在
s3 = 1
End If
RsAccClose
这里 通过 s1 s2 s3 来 判断 ss 最后的结果
用所需功能DATEDIFF(ⅰ中,d1,d2的[,FW [,FY]])
岛用于计算date1和date2的时间间隔设置
参数之间的时间差的字符串表达式如下:
设置说明
YYYY年
Q季度
米月
日一年的
DY
的数w天一个星期好几天
WW
n分钟
第二
的Fw可选周
小时。指定常数的第一天的一个星期。如果你没有指定,星期日为第一天。
Fy的选购。在今年的第一周恒指定。如果你没有指定,含1月1日当周的第一个星期。
假使日期在b列输入=countif(b:b,"3月6日"),就是3月6日的个数,假使是a3到a2000的行中,比如1月5日出现15行个行次,1月13日出现8个行次等等,怎么用函数求出1月5日有多少行,1月2日有多少行,=countif(a:a,"1月13日"),就是1月13日出现的次数,依此类推
举个例,如A1单元格的内容是20190731,
可以在B1单元格输入以下公式:
=left(A1,4)&"-"&mid(A1,5,2)&"-"&right(A1,2)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)