2013-10-28 143 views
-1

我在列A中有超過3000個值。我在列B中有一個x的值。我想讓excel查看列A中的值並返回「是」如果存在大於x的值,但小於x + 7(在列A> x中找到x + 7>值)。如果這樣的值(一個或多個)不存在,則顯示 「無」Excel:在特定範圍內尋找值

下面是一個例子:

列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和bigg)呃比B2),我需要excel回饋「是」。如果可能的話,在B列的特定值之後給出第一個值也是理想的。

以下是我迄今試過的,但沒有成功: = IF(AND((B2 + 7)> A1:A3000> B2),「是」,「否」) = IF(AND((B2 + 7)> $ A $ 2:$ A $ 3000,$ A $ 2:$ A $ 3000> B2),「是」, 「否」)

我如何在Excel中執行此操作?有沒有辦法做到這一點,而不是使用IF?

+0

請根據給定的輸入數據提供一些必需的輸出示例。你想要代碼或公式解決方案嗎? – pnuts

回答

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用戶定義的功能。

+0

它的工作,謝謝你! – user2646402

+0

如果答案是「是」,你知道如何在B2之後得到第一個數字嗎? – user2646402

1

原諒我,如果我不理解的問題,但不是問題的答案:

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

在哪裏,這將是在C2的公式,在跨越A2列表項測試B2 - A10。您可以在列的所有條目下方複製該公式。

0

我不明白你需要什麼,但可能=IF(AND(A2>B$2,A2<B$2+7),"yes","no")複製下來將用於測試B2和B2 + 7對每個列A值。