• ベストアンサー

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

エクセル2003を使用しています。 セル範囲の中でデータが入っている一番左のセルを取得する関数はありますか?   A B C D 1 1020 2   23 25 3 21   30 上記のように、空白のセルもあり、データが入っているセルのうち、一番左のセルの数値を使用したいと考えています。(例:1行目なら10、2行目なら23というように) その数値を計算に使用するつもりです。 何か、いい方法がありましたらご教授願います。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。   =INDEX(A1:D1,,MATCH(TRUE,INDEX(ISNUMBER(A1:D1),,),0)) 余計なことかもしれませんが、私の数式に解説が必要なのかな? なんとなく、そんな気がしました。 #1 さんのも私のも、引数の中身に、INDEX を使用するのは、配列を、ワークシート上にデータ化させるために使用しています。そうすることによって、配列確定(Ctrl + Shift + Enter)をせずに済むのです。 INDEX 関数は、他の関数と違っていて、解にセルのオブジェクトを返します。 だから、SUM(INDEX(***) : INDEX(+++))とすれば、その見つけた間の合計が出すことも出来ます。 ただし、引数の中に、条件式が入っていたりすれば、それは、データ化されません。それから、INDEX の列や行の数を、0か、省略すると、その列や行、全体を指します。省略形を使ったから、どうなるということでもありませんが、一応、数式になれている人たちは、略することの出来る引数は、書かないというようにするという、習慣があります。

poo1123
質問者

お礼

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

その他の回答 (4)

noname#204879
noname#204879
回答No.4

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

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 #1さんと、数式は、似ていますが、若干、引数のデータの扱い方に、違いがあります。 =INDEX(A1:D1,,MATCH(TRUE,INDEX(ISNUMBER(A1:D1),,),0))

noname#204879
noname#204879
回答No.2

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

poo1123
質問者

補足

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

  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.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)),"")

関連するQ&A