テキストが含まれているときにセルに入力する配列数式がありますが、セルが空白の場合は無視して次のセルに移動します。私が持っている問題は、例えば私が持っている順序でそれをしないということです:
範囲は
_-A
-(BLANK CELL)
-(BLANK CELL)
-D
-E
-F
-(BLANK CELL)
-H
-(BLANK CELL)
_
式の結果
_-A
-E
-F
-H
_
文字を含むセルをスキップしています。誰かが助けることができますか?
式:
{=IF(ISERROR(SMALL(IF(B4:$B$12<>"",ROW(B4:$B$12)),ROW(B4:$B$12)-3)),"",INDEX(B4:$B$12,MATCH(SMALL(IF(B4:$B$12<>"",ROW(B4:$B$12)),ROW(B4:$B$12)-3),IF(B4:$B$12<>"",ROW(B4:$B$12)),0)))}
私は問題はあなたが_B4:$B$12
_として範囲を持っていることだと思います、それで_B4
_の周りに$記号がないので、列を下に数式をドラッグするときに参照を変更します...しかし、式はあなたが必要とするよりも少し複雑に見えるので、私はむしろより良い代替案を提案したいと思います:
どのバージョンのExcelを使用していますか?
Excel 2007以降では、このバージョンを試してください
=IFERROR(INDEX(B$4:B$12,SMALL(IF(B$4:B$12<>"",ROW(B$4:B$12)-ROW(B$4)+1),ROWS(D$4:D4))),"")
最初のセルが_D4
_(実際の開始セルと一致するようにROWS(D$4:D4)
の部分を変更)であり、数式を列の下にドラッグしていると仮定します
で確認 CTRL+SHIFT+ENTER
IFERROR
関数が使用できない以前のバージョンでは、このバージョンを使用できます
=IF(ROWS(D$4:D4)>COUNTA(B$4:B$12),"",INDEX(B$4:B$12,SMALL(IF(B$4:B$12<>"",ROW(B$4:B$12)-ROW(B$4)+1),ROWS(D$4:D4))))