Excel中的系列“Is”类函数可以判断指定值并返回TRUE或FALSE,如ISNUMBER函数判断值是否为数字、ISTEXT判断值是否为文本等。但Excel没有提供一个判断日期的工作表函数,如“IsDate”。如果要检测某单元格是否为日期,可以用CELL函数,例如下面的公式判断A1单元格是否为日期:
=IF(LEFT(CELL("format",A1))="D",IF(–RIGHT(CELL("format",A1))<6,TRUE))
当A1单元格为日期格式时返回TRUE,否则返回FALSE。将该公式用于数据有效性中,可以限制用户只能输入指定的文本和任意日期。
另外,还可用VBA中的IsDate函数来判断,如下面的自定义函数:
excel利用选择性粘贴将筛选后的公式结果批量转换为值
要将筛选后的公式结果批量转换为值,如果直接对筛选区域进行选择性粘贴为值的操作,Excel会提示复制区域与原区域形状不同而无法进行。要解决这个问题,除了使用VBA外,还可利用辅助列进行选择性粘贴的方法。如图所示,D列为根据B、C两列数值用不同的公式计算得到的结果,现在需要将用“公式2”和&ldqu
Function Is_Date(expr)
Application.Volatile
Is_Date = IsDate(expr)
End Function
在Excel工作表界面按Alt F11,打开VBA编辑器,单击菜单“插入→模块”,粘贴上述代码。然后在单元格中输入公式:
=Is_Date(A1)
当A1单元格包含某个日期时返回TRUE。与第一个公式不同的是,如果A1单元格为空,该公式返回FALSE。
说明:当引用单元格中的格式发生改变时,上述两个公式返回的结果不能自行更改,这时按F9键重新计算即可。
excel使用NOW函数函数返回当前时间
NOW函数返回当前日期和时间的序列号。如果在输入该函数前,单元格格式为“常规”,Excel会将单元格格式更改为与“控制面板”的区域日期和时间设置中指定的日期和时间格式相同的格式。可以在功能区“开始”选项卡上的“数字”组中使用