如何在Excel中比较4列与2个条件

pkwftd7m  于 2023-10-22  发布在  其他
关注(0)|答案(2)|浏览(103)

我在Excel中有4列A,B,C,D。其中A中的数据具有其B的日期,C中的数据具有其D的日期
| | B| C| D| D |
| --|--|--|--|--|
| 1 |AA| 2019 - 09 - 22 00:00:00| DD| 2019 - 09 - 22 00:00:00|
| 2 |BB| 2019 - 09 - 23 00:00:00| AA| 2019 - 09 - 23 10:50:31|
| 3 |CC| 2019 - 09 - 23 16:03:07| ee| 2019 - 09 - 23 16:03:07|
| 4 |AA| 2019 - 09 - 25 00:00:00| CC| 2019 - 09 - 23 14:36:12|
我需要A列和C列中的公共数据,条件是B列中的日期大于D列中的日期。
我尝试了函数=IF(AND(COUNTIF(C:C,A1); B1>D:D); 1; 0)然后我通过过滤器选择了所有1,一切似乎都解决了,但在某些情况下,它认为某些行为真,即使日期B小于日期D。
请告诉我为什么这个函数计算不准确,用什么公式可以得到想要的结果?
我的预期结果
| | B| C| D| E| E |
| --|--|--|--|--|--|
| 1 |AA| 2019 - 09 - 22 00:00:00| DD| 2019 - 09 - 22 00:00:00| 1 |
| 2 |BB| 2019 - 09 - 23 00:00:00| AA| 2019 - 09 - 23 10:50:31| 0 |
| 3 |CC| 2019 - 09 - 23 16:03:07| ee| 2019 - 09 - 23 16:03:07| 1 |
| 4 |AA| 2019 - 09 - 25 00:00:00| CC| 2019 - 09 - 23 14:36:12| 0 |

iugsix8n

iugsix8n1#

你原来的公式有点接近,但因为你使用了2个标准,所以使用COUNTIFS而不是COUNTIF:

=IF(COUNTIFS($C$1:$C$4;A1;$D$1:$D$4;"<"&B1)>0;1;0)

COUNTIFS Function
如文档中所述,此功能允许用户输入多个标准,每个标准都是基于范围的。你的公式有两个条件:A栏和B栏。
公式的第一部分是这样的:
COUNTIFS($C$1:$C$4;A1
这部分只计算范围C1:C4中有多少单元格等于A1的值。下一部分是这样的:
$D$1:$D$4;"<"&B1
这将计算范围D1:D4中有多少单元格的值比B1(您的日期)显示的值低**。
因为我们使用的是COUNTIFS,所以所有使用的条件都将作为AND条件进行检查。这意味着必须满足所有这些,否则计数将为零。所有这些加在一起就像这样:

COUNTIFS($C$1:$C$4;A1;$D$1:$D$4;"<"&B1)

这意味着 * 计算在范围C1:D4中有多少同时满足这些要求 *:
1.范围C1:C4必须包含A1中的值(由于相对引用,依此类推)
1.范围D1:D4的日期必须小于B1的日期。
然后我将所有这些与IF结合起来,因为你不想要总数,你只想知道是否有至少一个满足你的要求。这就解释了>0部分。是这样的:
IF (previouscount > 0 then return 1, else return 0)

k4ymrczo

k4ymrczo2#

感谢您在评论部分的澄清。我的两分钱:

F1中的公式:

=--IFNA(B1:B4>VLOOKUP(A1:A4,C1:D4,2,0),)

当找不到A1:A4时,VLOOKUP()将返回一个错误,然后通过IFNA()的第二个参数将其转换为0。

相关问题