我在列A中有超过3000个值。我在列B中有一个x值。我希望excel查看A列中的值,如果有一个大于x的值,则返回“是”小于x + 7(在列A中找到的x + 7>值> x)。如果此类值不存在,则显示“否”
以下是一个例子:
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), “是”, “否”) = IF(AND((B2 + 7)> $ A $ 2:$ A $ 3000,$ A $ 2:$ A $ 3000 GT; B2), “是”, “否”)
如何在Excel中执行此操作?有没有办法做到这一点,而不是使用IF?
答案 0 :(得分:1)
如果我不理解这个问题,请原谅我,但不是答案:
=IF(AND((B2+7)>$A$2:$A$10,$A$2:$A$10>B2),"yes","no")
这将是C2中的等式,测试B2以查看列表中跨越A2-A10的条目。您可以将该等式复制到B列中所有条目的列中。
答案 1 :(得分:0)
我不明白你需要什么,但可能=IF(AND(A2>B$2,A2<B$2+7),"yes","no")
被复制下来将用于测试每个A列值的B2和B2 + 7。
答案 2 :(得分:0)
试试这个(对于单元格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
中的数据按升序排序(如示例ata所示),而单元格A
则包含'0'。如果无法满足这些条件,则可能必须考虑VBA用户定义的函数。