web-dev-qa-db-ja.com

行の最初の非ゼロ値を取得して列ヘッダーを返すExcelの数式

行内の列範囲を調べ、最初のゼロ以外の値が発生する行の列ヘッダーを左から右に移動できる式を見つけようとしています。

以下は私のデータのスクリーンショットです: enter image description here

列Hで確認したい結果は、各行について次のようになります。

9 = 10/31/2011
10 = 11/30/2011
11 = 11/30/2011
12 = 12/31/2011

私はいくつかの配列数式で遊んだり、関数を検索したりしましたが、まだ成功していません。別のExcelウィザードがアイデアを持っていることを願っています。

できれば、今のところUDFの記述は避けたいです。

7
Scott Holtzman

かしこまりました

=INDEX(J$8:N$8,MATCH(TRUE,INDEX(J9:N9<>0,),0))

12
Raystafarian

私は上記の答えを受け入れましたが、誰かを助けるために、それを行うために見つけた別の方法を示したいと思いました。

=OFFSET($I$8,0,MATCH(0,J10:N10,1)+1)

次のように書くこともできます。

=INDEX(J$8:N$8,MATCH(0,J9:N9,1)+1)
3
Scott Holtzman

上手 !要件がJ8:N8の値を列Hに配置するだけの場合は、コピーと転置(貼り付けオプション)で問題を解決できます。

0