プロが教える店舗&オフィスのセキュリティ対策術

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

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

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

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

A 回答 (5件)

=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)),"")
    • good
    • 0

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

この回答への補足

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

補足日時:2006/09/04 17:28
    • good
    • 0

こんにちは。



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

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

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

    • good
    • 0

こんばんは。



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

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

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

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

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

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

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

お礼日時:2006/09/11 13:45

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!