4

更新 1:

私の質問が明確でないため、2番目の例を投稿します

例 2

行 2 の項目 04 には値 1 があるため、Get Item Name = Item 04 です。これはランダムであり、多数の列 (500) があります。

問題:

そのヘッダーの下のセルに値が入力されている場合、列ヘッダーを取得する方法が必要です。行 2 と列 1 に値がある場合、行 2 の他のセルには値がないことに注意してください (0 以外)。

問題を言葉で説明するのは難しいので、例を作成しました。

サンプル

4

4 に答える 4

7

上記のコメントに数式を投稿しましたが、見たことがないかもしれません。これだよ:

=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2<>"",0),0)))

これにより、入力されたセルの最初のインスタンスのヘッダーが取得されます-数値があり、ゼロを無視したい場合は、

=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2>0,0),0)))

どちらの方法でも、数式を必要なだけ広い範囲に拡張できます

..... 500列ある場合は、IFERRORを使用して少し短くすることができます

=IFERROR(INDEX($B$1:$D$1,MATCH(TRUE,INDEX($B2:$D2>0,0),0)),"")

于 2013-02-25T22:13:11.733 に答える
1

数えられる列数(つまり3)を持つ比較的小さなテーブルである特定のテーブルの場合、これを試してください

=IF(COUNTA(G8)>0,"Column 1",IF(COUNTA(H8)>0,"Column 2",IF(COUNTA(I8)>0,"Column 3",""))).  

私の質問は、テーブルに 20 列または 100 列が含まれている場合はどうなりますか?

于 2013-02-25T21:26:36.130 に答える
0

「列ヘッダー」と言うとき、実際には「行ヘッダー」を意味すると思います。

最初のセル(テキストを含む"Column Header")がA1これにあることを考慮すると、セルに導入する必要がある式は次のとおりですA2

=IF(B2>0, $B$1, IF(C2>0, $C$1, IF(D2>0, $D$1, "")))

この数式を必要な数の行にドラッグすると、(うまくいけば) 目的が達成されます。

于 2013-02-25T21:04:00.073 に答える
0

3 つ以上の列を持つソリューションが必要であると仮定すると、この式は適切なヘッダーを返します。

データは行 2、列 B から始まり、行 1 には列ヘッダーが含まれていると仮定します。

B1 で次の式を使用し、それをコピーします。

=IF(COUNTA($B2:$D2)=0,"",INDEX($B$1:$D$1,MATCH(FALSE,INDEX(ISBLANK($B2:$D2),0),0)))

データが列 D を超えている場合は、数式でこれを変更するだけです。

于 2013-02-25T21:11:13.920 に答える