2017-09-04 3 views
0

からの資源のうち、私が先行または後続の依存関係を持つ行(簡易MSプロジェクトタイプリンク)式が自動的に計算しようとエクセル配列数式

excel example

をリンクしようとしているExcelファイルを持っています前任者の後継者。

{=LARGE(INDIRECT(CONCATENATE("$a$1:$a$",SMALL(IF($C$2:$C$101=INDIRECT(CONCATENATE("a",LARGE(IF(ISNUMBER($A$2:$A2),ROW($A$2:$A2)),1))),ROW(A$2:A$101)),ROW(A2)-LARGE(IF(ISNUMBER($A$2:$A2),ROW($A$2:$A2)),1)+1))),1)} 

あなたが見ることができるように、これは正しく値を計算し、私はエラー条件を処理するためにIFERROR()を追加した場合、Excelは文句:大きな課題は、式が列Aに結合されたセルを処理していましたその関数によってリソースが不足することがあります。これを回避したり、問題を回避するために数式を単純化する方法はありますか?

+0

たぶん、あなたはにエラーセルのフォントをフォーマットするために条件付き書式を使用することができますが内部の色と同じ色、効果的にそれを不可視にします。 –

+0

@RonRosenfeld - IMHOでは、 ';;;'をカスタム数値形式として使用すると、セルの塗りつぶし色に合わせてフォントの書式を設定するよりも、セルの内容を「見えない」ようにすることができます。 – Jeeped

+0

データを再入力して、列Aのセルを5つのセルブロックの単一のセルに結合しました。私はあなたの数式を処理したり、達成しようとしていることを理解できません。 – Jeeped

答えて

0

我々は非揮発性INDEXを持つすべてのINDIRECT(CONCATENATE())参照交換した場合それは動作します:

=IFERROR(LARGE($A$1:INDEX(A:A,SMALL(IF($C$2:$C$101=INDEX(A:A,LARGE(IF(ISNUMBER($A$2:$A2),ROW($A$2:$A2)),1)),ROW(A$2:A$101)),ROW(A2)-LARGE(IF(ISNUMBER($A$2:$A2),ROW($A$2:$A2)),1)+1)),1),"") 

![enter image description here

+0

完璧!これは美しく動作します。ありがとうございました! – user162017

+0

@ user162017答えのチェックマークをクリックして、正しいとマークしてください。 –