2017-04-22 61 views
1

此數組公式允許我來填充D4通過搜索在列A的第一個非空值(參見鏈接 - https://exceljet.net/formula/get-first-non-blank-value-in-a-list從索引指定的特定列中獲取第一個非空值。的Excel

=INDEX(A2:A1000,MATCH(FALSE,ISBLANK(A2:A1000),0))

然而,我想縮小它使得柱正在搜索會根據在C4中輸入的值而變化。

例如,如果C4中的值是1,我會得到值13.86。如果C4中的值是2,我會得到值10.看到這裏 - click for link to example data

我試着用IF函數調整上述數組公式,但沒有成功。我是一個總新手所以是一種:)

=IF(C4=1,(INDEX(A2:A1000,MATCH(FALSE,ISBLANK(A2:A1000)))),IF(C4=1,(INDEX(B2:B1000,MATCH(FALSE,ISBLANK(B2:B1000)))),0))

回答

1

在D5作爲數組公式(與CSE),

=INDEX(A2:B1000, MATCH(FALSE, ISBLANK(INDEX(A2:B1000, 0, C4)),0), C4) 

enter image description here

+0

這太好了!它可以適應,以便它可以處理5個不同的潛在價值? –

+0

您是否至少試圖拓寬專欄(請記住formulka需要推遲以避免circualr參考)?你瞭解C4的工作原理嗎?您是否閱讀過support.office.com上的INDEX功能文檔? – Jeeped

+0

我已經擴大了列,並提出了公式是,但我試圖根據我可以瞭解的索引來修改公式的其餘部分。我之前從未使用過Excel,因此它有點慢! –

0

好。它會看起來令人生畏,但相信我,如果你仔細看它確實是一個非常簡單的與其他幾個公式結合

輸入D4下面的公式或所需的細胞,然後按按Ctrl + + 輸入

=INDEX(INDIRECT(SUBSTITUTE(ADDRESS(1,K4,4),"1","")&1&":"&SUBSTITUTE(ADDRESS(1,K4,4),"1","")&100),MATCH(FALSE,ISBLANK(INDIRECT(SUBSTITUTE(ADDRESS(1,K4,4),"1","")&1&":"&SUBSTITUTE(ADDRESS(1,K4,4),"1","")&100)),0)) 

這裏K4是我的輸入單元格(這是C4您的情況),我已經考慮了一系列的1:100不像1:1000你的。所以相應地改變。

說明

  1. ADDRESS函數根據你給輸入地址的文本。對於輸入的8它會給H1

=INDEX(INDIRECT(SUBSTITUTE("H1","1","")&1&":"&SUBSTITUTE("H1","1","")&100),MATCH(FALSE,ISBLANK(INDIRECT(SUBSTITUTE("H1","1","")&1&":"&SUBSTITUTE("H1","1","")&100)),0))

  • 然後SUBSTITUTE函數去除下來的1並給出輸出僅H,然後將其與INDIRECT函數用於獲取範圍。
  • =INDEX(INDIRECT("H"&1&":"&"H"&100),MATCH(FALSE,ISBLANK(INDIRECT("H"&1&":"&"H"&100)),0))

    =INDEX(INDIRECT("H1:H100"),MATCH(FALSE,ISBLANK(INDIRECT("H1:H100")),0))

    休息是完全公式。

    相關問題