こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

セル範囲の中で、データの入っている左端のセルを選ぶ

エクセル2003を使用しています。
セル範囲の中でデータが入っている一番左のセルを取得する関数はありますか?

  A B C D
1 1020
2   23 25
3 21   30

上記のように、空白のセルもあり、データが入っているセルのうち、一番左のセルの数値を使用したいと考えています。(例:1行目なら10、2行目なら23というように)
その数値を計算に使用するつもりです。

何か、いい方法がありましたらご教授願います。

投稿日時 - 2006-09-04 14:58:40

QNo.2383083

すぐに回答ほしいです

質問者が選んだベストアンサー

こんばんは。

  =INDEX(A1:D1,,MATCH(TRUE,INDEX(ISNUMBER(A1:D1),,),0))

余計なことかもしれませんが、私の数式に解説が必要なのかな?
なんとなく、そんな気がしました。

#1 さんのも私のも、引数の中身に、INDEX を使用するのは、配列を、ワークシート上にデータ化させるために使用しています。そうすることによって、配列確定(Ctrl + Shift + Enter)をせずに済むのです。

INDEX 関数は、他の関数と違っていて、解にセルのオブジェクトを返します。

だから、SUM(INDEX(***) : INDEX(+++))とすれば、その見つけた間の合計が出すことも出来ます。

ただし、引数の中に、条件式が入っていたりすれば、それは、データ化されません。それから、INDEX の列や行の数を、0か、省略すると、その列や行、全体を指します。省略形を使ったから、どうなるということでもありませんが、一応、数式になれている人たちは、略することの出来る引数は、書かないというようにするという、習慣があります。

投稿日時 - 2006-09-04 23:05:13

お礼

皆さん、詳しい回答ありがとうございました。
うまく、いきました。
感謝します。

投稿日時 - 2006-09-11 13:45:04

ANo.5

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

{=INDEX(A1:D1,1,MATCH(TRUE,ISNUMBER(A1:D1),0))} (配列数式)

投稿日時 - 2006-09-04 17:57:56

ANo.3

こんにちは。

#1さんと、数式は、似ていますが、若干、引数のデータの扱い方に、違いがあります。

=INDEX(A1:D1,,MATCH(TRUE,INDEX(ISNUMBER(A1:D1),,),0))

投稿日時 - 2006-09-04 17:22:18

お示しのデータなら、単に =MIN(A1:C1) で行けますが…

投稿日時 - 2006-09-04 16:00:42

補足

必ずしも、小さい順に並んでいるわけではありません。また、同じデータが出てくることもあるのです。

投稿日時 - 2006-09-04 17:28:10

ANo.1

=INDEX(A1:D1,MATCH(1,INDEX((A1:D1<>"")*1,0),0))
または
=IF(COUNT(A1:D1),INDEX(A1:D1,MATCH(1,INDEX((A1:D1<>"")*1,0),0)),"")

投稿日時 - 2006-09-04 15:22:48

あなたにオススメの質問