提问人:Nigar Hesenli 提问时间:10/4/2023 最后编辑:Mayukh BhattacharyaNigar Hesenli 更新时间:10/4/2023 访问量:78
如何在 Excel 中比较 4 列和 2 个条件
How to compare 4 columns with 2 conditions in Excel
问:
我在 Excel 中有 4 列 A、B、C、D。其中 A 中的数据具有其 B 的日期,而 C 中的数据具有其 D 的日期
一个 | B | C | D | |
---|---|---|---|---|
1 | 机 管 局 | 10.09.2023 3:52:30 | DD型 | 26.09.2023 12:52:19 |
2 | BB型 | 13.09.2023 4:15:22 | 机 管 局 | 10.09.2023 3:50:31 |
3 | 抄送 | 19.09.2023 16:03:07 | EE电子工程 | 19.09.2023 16:03:07 |
4 | 机 管 局 | 10.09.2023 3:45:10 | 抄送 | 18.09.2023 14:36:12 |
我需要 A 列和 C 列中的通用数据,条件是 B 列中的日期大于 D 列中的日期。
我尝试了该功能,然后我通过过滤器选择了所有 1,一切似乎都正常,但在某些情况下,即使日期 B 小于日期 D,它也会认为某些行为真。=IF(AND(COUNTIF(C:C,A1); B1>D:D); 1; 0)
请告诉我为什么这个函数不能准确计算,可以使用什么公式来获得所需的结果?
我的预期结果
一个 | B | C | D | E | |
---|---|---|---|---|---|
1 | 机 管 局 | 10.09.2023 3:52:30 | DD型 | 26.09.2023 12:52:19 | 1 |
2 | BB型 | 13.09.2023 4:15:22 | 机 管 局 | 10.09.2023 3:50:31 | 0 |
3 | 抄送 | 19.09.2023 16:03:07 | EE电子工程 | 19.09.2023 16:03:07 | 1 |
4 | 机 管 局 | 10.09.2023 3:45:10 | 抄送 | 18.09.2023 14:36:12 | 0 |
答:
感谢您在评论部分的澄清。我的两分钱:
公式:F1
=--IFNA(B1:B4>VLOOKUP(A1:A4,C1:D4,2,0),)
当找不到时将返回错误,然后这将转换为 0 到 的第二个参数。VLOOKUP()
A1:A4
IFNA()
您的原始公式有点接近,但由于您使用的是 2 个标准,因此请使用 COUNTIFS 而不仅仅是 COUNTIF:
=IF(COUNTIFS($C$1:$C$4;A1;$D$1:$D$4;"<"&B1)>0;1;0)
如文档中所述,此功能允许用户输入多个条件,并且每个条件都是基于范围的。您的公式有 2 个条件:A 列和 B 列。
公式的第一部分是这样的:
COUNTIFS($C$1:$C$4;A1
这部分将只计算范围 C1:C4 中有多少个单元格等于 A1 的值。下一部分是这样的:
$D$1:$D$4;"<"&B1
这将计算 D1:D4 范围内有多少单元格的值低于 B1(您的日期)中显示的值。
因为我们使用的是 COUNTIFS,所以所有使用的 critera 都将作为 AND 条件进行检查。这意味着必须满足所有这些要求,否则计数将为零。所以像这样在一起是:
COUNTIFS($C$1:$C$4;A1;$D$1:$D$4;"<"&B1)
这意味着计算范围 C1:D4 中同时满足以下要求的行数:
- 范围 C1:C4 必须包含 A1 中的值(依此类推,因为存在相对引用)
- 范围 D1:D4 的日期必须低于 B1 的日期。
然后我把所有这些与IF结合起来,因为你不想要总数,你只想知道是否至少有一个满足你的要求。这就解释了这部分。它是这样的:>0
IF (previouscount > 0 then return 1, else return 0)
评论
>0
评论
aa, bb, cc
E1
E1:E3