首页 > 解决方案 > 如何在 Excel 中使用多个条件搜索和选择(第一次出现)特定日期?

问题描述

我必须使用多个条件搜索特定日期。

标准 1:用户 ID(例如 177)

=IF(MATCH(A5,Table_CHECKINOUT4[USERID],0),"Yes")

标准 2: CheckType(例如 I)

=IF(MATCH(G4,Table_CHECKINOUT4[CHECKTYPE],0),"Yes")

标准 3:日期(例如 2020 年 1 月 21 日)

=IF(COUNTIFS(Table_CHECKINOUT4[CHECKTIME],">="&INT($G$3),Table_CHECKINOUT4[CHECKTIME],"<"&INT($G$3)+1),"Yes","No")

我必须使用上述三个条件在 CHECKINOUT 表中搜索特定日期。

USERID  CHECKTIME   CHECKTYPE
177   1/10/2020 9:37    I
177   1/17/2020 9:25    I
177   1/2/2020 9:14     I
177   1/3/2020 16:37    O
177   1/7/2020 9:26     I
177   1/14/2020 9:09    I
177   1/17/2020 17:10   O
177   1/9/2020 9:15     I
177   1/20/2020 17:32   O
177   1/16/2020 11:01   I
177   1/9/2020 17:39    O
177   1/2/2020 17:08    O
177   1/6/2020 16:34    I
177   1/13/2020 9:15    I
177   1/16/2020 17:09   O
177   1/21/2020 9:06    I
177   1/8/2020 16:59    I
177   1/20/2020 17:29   O
177   1/15/2020 9:15    I
177   1/20/2020 9:14    I
177   1/10/2020 15:00   I
177   1/1/2020 16:58    O
177   1/3/2020 9:09     I
177   1/7/2020 17:39    O
177   1/21/2020 16:57   O
177   1/8/2020 9:19     I
177   1/15/2020 17:10   O
177   1/14/2020 16:49   I

我使用了 Scott Craner 分享/推荐的公式。

=IFERROR(1/(1/MOD(SUMIFS(Table_CHECKINOUT4[CHECKTIME],Table_CHECKINOUT4[CHECKTIME],">="&INT($G$3),Table_CHECKINOUT4[CHECKTIME],"<"&INT($G$3)+1,Table_CHECKINOUT4[USERID],$A4,Table_CHECKINOUT4[CHECKTYPE],$G$4),1)),"")

上面的公式可以正常工作并得到准确的结果,但如果相同的 USERID、CHECKTYPE 和 DATE 有多个值。结果是错误的。

例如,如果数据是

USERID  CHECKTIME         CHECKTYPE
    177   1/21/2020 9:37    I
    177   1/21/2020 9:25    I
    177   1/21/2020 9:14    I

结果是错误的

我想选择第一次出现,即 09:37。

标签: excelexcel-formula

解决方案


您可以尝试以下公式:

=INDEX(MOD(Table_CHECINOUT4[CHECKTIME],1),MATCH(TRUE,INDEX((($F$2=Table_CHECINOUT4[USERID])*($G$2=Table_CHECINOUT4[CHECKTYPE])*($H$2=INT(Table_CHECINOUT4[CHECKTIME]))<>0),0),0),0)

在此处输入图像描述


推荐阅读