Excel用if函数写时间差条件筛选判断?

Excel用if函数写时间差条件筛选判断?,第1张

提问中所述的时间条件不是了解得很明白,“若时间B是A的次日的10:00”是指次日的10点整,还是10点之前或10之后,按字面应理解为10点整,而按常理,可以理解为10:00之前(含10点)。再者如果BE列的日期是次日,是不是就不管AE列的时间了?还有BE列是否存在AE列之后第3日,第4日甚至更多日期,如果存在,又该如何?下面的公式,即按上面说的按常理理解,且如果是两的列日期不是同一天的话,不是相差几天,都只管BE中的时间是否在10点以前,10点前就是“否”:

=IF(BE2="","",IF((DAY(BE2)=DAY(AE2)),IF((HOUR(AE2>=9)(HOUR(BE<=19),"否","是"),IF(HOUR(BE)<=10,"否","是"))

1、假设在B1单元格输入一个日期,则可在C1单元格输入公式:=IF(EOMONTH(A1,0)=EOMONTH(B1,0),TEXT(B1,"e/m/d"),"")

即可判断二个日期是否在同一个月的,是则显示日期、不是则空白

2、假设在B1单元格输入一个日期,在C1单元格输入公式:

=IF(AND(B1>EDATE(A1,-1),B1<EDATE(A1,1)),TEXT(B1,"e/m/d"),"")

则可判断B1的日期是否与A1的日期相距在1个月内

不知你想要真实的目的,因为你后面的描述有点不明白……

右键点任何一个工作表的名称,选“查看代码”,在d出的代码编辑框中输入以下代码:

Private Sub Worksheet_Change(ByVal Target As Range)

With Target

If Column <> 16 Then Exit Sub

For 行 = Row To Row + RowsCount - 1

If Cells(行, 16) <> "" Then

Cells(行, 15) = Format(Now, "m月d日hh:mm")

Else

Cells(行, 15) = ""

End If

Next

End With

End Sub

关闭代码输入框后就能在P列输入内容,O列显示不会再变化的时间了。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/12459467.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存