-1

我在 A 列中有超过 3000 个值。我在 B 列中有一个值 x。我希望 excel 查看 A 列中的值,如果值大于 x 但小于 x,则返回“是” +7(x+7>值可在 A 列中找到>x)。如果这样的值不存在,则显示“no”

这是一个例子:

A栏

2:11.2

3:11.3

4:11.4

5:13.5

6:13.6

7:20.5

8:20.6

9:30.5

B栏

2:11.1

3:20.7

在这种情况下,由于第 1 列中的值大于 11.1 并且在范围内(小于 B2+7,并且大于 B2),我需要 excel 回复“是”。如果可能,最好在 B 列中的特定值之后也给出第一个值。

这是我到目前为止尝试过但没有成功的方法: =IF(AND((B2+7)>A1:A3000>B2),"yes","no") =IF(AND((B2+7)> $A$2:$A$3000,$A$2:$A$3000>B2),"是","否")

如何在 Excel 中执行此操作?除了使用 IF 之外,还有其他方法吗?

4

3 回答 3

1

如果我不理解这个问题,但不是答案,请原谅我:

=IF(AND((B2+7)>$A$2:$A$10,$A$2:$A$10>B2),"yes","no")

这将是 C2 中的等式,测试 B2 以查找列表中跨越 A2 - A10 的条目。对于 B 列中的所有条目,您可以将该等式复制到该列中。

于 2013-10-28T23:23:22.393 回答
0

我不明白您需要什么,但可能=IF(AND(A2>B$2,A2<B$2+7),"yes","no")复制下来可以针对每个 A 列值测试 B2 和 B2+7。

于 2013-10-28T23:29:42.700 回答
0

试试这个(对于 cell B2

=IF(SUMPRODUCT((A:A>B2)*(A:A<B2+7)),"Yes","No")

并根据需要复制下来。

对于第二部分,要返回下一个更大的值,试试这个

=IF(SUMPRODUCT((A:A>B2)*(A:A<B2+7)),INDEX(A:A,MATCH(B2,A:A,1)+1),"No")

请注意,这要求列A中的数据按升序排序(就像您的示例数据一样)并且单元格A包含“0”。如果这些条件都不可能,那么您可能必须考虑使用 VBA 用户定义函数。

于 2013-10-29T05:01:14.357 回答