2017-04-26 5 views
0

私は複数の段階のプロジェクトの予算に取り組んでいます。すべてのフェーズが作業されるわけではない可能性があるので、私はいくつかのルックアップとSUMIFの式を追加して、私の含まれている労力とドルの金額の要約を得ることができます。それはすべて正常に動作します。今では私のルックアップ行(行1)を隠したいのですが、プロジェクトのどの段階が含まれているのか、除外されているのかを特定する方法はあります。明らかに私はそれらを手動で連結することができましたが、フェーズが含まれているか除外されている場合は、それらの式を更新することを忘れないようにしなければなりません。ここに私のシートがどのように見えるかです:それは動作するはずのようルックアップに基づく範囲の値を連結

Table Layout をTEXTJOIN機能(すなわち=TEXTJOIN(CHAR(10), TRUE, C2:N2))ようだが、私は私のルックアップ列の範囲パラメータに依存ようにする方法を周りに私の頭をラップすることはできません。私はINDEXで=TEXTJOIN(CHAR(10), TRUE, INDEX(A2:M2,,(A1:M1="Yes")*COLUMN(A1:M1)))のようなものを使って遊んだが、運がなかった。一日の終わりに私のような何かをしたい:

フェーズ1
フェーズ2
フェーズ5

上記のデータは、すべてが同じセルに表示される必要があることに注意してください - 使用TEXTJOIN関数の区切り文字として改行文字CHAR(10)を使用すると、すべてのフェーズが1つのセル内の新しい行に表示されます。私は、複数のセルを介して数式を塗りつぶしたくありません。助けを前にありがとう。

答えて

0

enter image description here

絵を見てみてください。私は過去に同様の問題を持っていた(そしてその時点で私は@ScottCranerによって助けられた、StackOverflowのにそれをもたらし、ここでオリジナルのポスト: Doing an array formula lookup

基本的に

、 1)あなたはを通して見ている配列を設定します - 私の場合、$ A $ 2:$ A $ 6、あなたの場合は$ B $ 2:$ M $ 2になります。 2)次に、一致関数内にCOUNTIFS関数をネストします。 A)コピー/貼り付け時にフェーズXの名前が既に列Eに表示されているかどうかを確認します。 B)もしあれば、次のものに移動してください C) 't、output 3)注意:これは配列式なので、式自体がすべてのセルを調べています。だからそれは細胞A2を見ます。 B2のセルが「はい」で、「フェーズ1」が列Eの範囲にない場合は、フェーズ1に入れます。次に、セルA3を見ます。 B3のセルが「はい」の場合は、フェーズ2と同じことです。次に、セルA4が表示されます。 B4が "いいえ"なので、*(B2:B6 = "はい")はエラーを投げます。など) 4)関数の前後に括弧で囲むエラーを配置します。

+0

私は元の質問を編集して、ある範囲内の式を記入するのではなく、すべての結果を1つのセルに連結したいと考えていることを明確にしました。 – Cory

0

これは、配列の式を必要としない、より洗練されていない方法では、セカンダリ列の「Yes/No」をインデックスとして使用することです。これは、二次列の値が冗長であり、一次列の「はい」または「いいえ」を繰り返すと仮定します。 C1において

=CONCATENATE(B1,COUNTIFS($A$1:B1,B1)) - E1、G1のため 繰り返し比較的など

どこか(以下の式は、同じワークシートの行1を想定)を分離、あなたが使用できる:=IFERROR(INDEX($2:$2,MATCH(CONCATENATE("Yes",ROW()),$1:$1,0)-1),"")

見えるします「Yes1」を選択し、「Phase 1」を返し、下に自動入力します。 IFERRORは、「Yes」の結果がなくなったときに空白に戻ります。

+0

セカンダリ列の値は冗長ではありません.3行目のヘッダーとともに他のSUMIFS計算で使用され、含まれている/除外されている時間と量を合計します。同様に、シートを塗りつぶすのではなく、すべての値を単一のセルに入れたいと思います。 – Cory

関連する問題