2017-05-05 204 views
1

從這個問題繼最後一個單元: Array that outputs cells in a column AFTER a certain point陣列不輸出

我已經做出了簡化的示例來測試式

=IFERROR(INDEX($A$1:$A$11,SMALL(IF(ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))>MATCH("WORD",$A$1:$A$11,0),ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))),ROWS(A$1:A1))),"") 

這是我的樣本數據在列A和陣列式柱B(已輸入與CTRL + SHIFT +輸入) :

example

該數組正在輸出在WORD之後找到的單元格。但是,您可以看到陣列未顯示10。 如果我將公式中的所有範圍更改爲A1:A12,我將顯示,但這是不正確的。

這裏發生了什麼?

+1

您是否嘗試將'> MATCH'改爲'> = MATCH'? –

+1

你提供的數組公式給出了我在每個單元中的「6」... –

+0

相同。我沒有得到你在截圖中顯示的結果。 –

回答

3

您需要1從小添加到該行輸出,11 - 1 = 10,那麼你需要使用> = MATCH應對>匹配:

=IFERROR(INDEX($A$1:$A$11,SMALL(IF(ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))>=MATCH("WORD",$A$1:$A$11,0),ROW($A$1:$A$11)-MIN(ROW($A$1:$A$11))+1),ROWS(A$1:A1))),"") 

作爲一個數組公式在退出編輯模式時,必須使用Ctrl-Shift-Enter而不是Enter鍵進行確認。如果正確完成,Excel將在公式周圍放置{}

enter image description here

+0

優秀,現在輸出正確。 – Aurelius

+0

注意斯科特還添加了+1,以避免匹配第0場比賽「WORD」。好的解決方案 – kabanus

+0

@Demo。但由於某種原因,你似乎錯誤地使用了我的原始公式。 –