• ベストアンサー

初めて0以外の数値が出てきたときの値を表示(EXCEL)

化学系の仕事をしていて実験の値をエクセルでまとめています。 こんなことは出来るのでしょうか? 1分ごとに測定を行いますが、はじめの数分は0の値が続きます。 簡単に例を挙げるとこんな感じです。 【例】 分→測定値 00→0 01→0 02→0 03→0 04→2.36 05→4.83 06→3.52 このとき初めて数値が0以外の値が出たときの2.36の値を適当なセルに表示させるにはどのような方法がありますか?測定値の数値には規則性がないのでMAX関数やMIN関数が使えません。何かいい方法教えてください。

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

  • ベストアンサー
noname#52504
noname#52504
回答No.1

A列にデータがあるとしたら、 =INDEX(A1:A99,MATCH(TRUE,A1:A99<>0,0)) を配列数式として入力(Ctrl+Shift+Enter) でいかが?

graphiti
質問者

補足

早々のご回答アリガトウございます。 さっそくA列にデータを入力し、 >=INDEX(A1:A99,MATCH(TRUE,A1:A99<>0,0)) をペーストしてみましたがうまくいかず#N/Aが表示されてしまいます。

その他の回答 (4)

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

◆こんな方法もありますよ =INDEX(A:A,MATCH(1,INDEX(1/(A:A>0),),0))

noname#52504
noname#52504
回答No.4

#1です。 通常の数式は、数式を打ち込んだ後Enterキーで確定しますが、 配列数式として入力する場合は、数式を打ち込んだ後、 CtrlキーとShftキーを押しながらEnterキーを押して確定します。 どうしても上手く行かない場合は、泥臭いですが、下記の数式をお試しください。 こちらは通常どおりEnterキーのみで確定しても機能します。 =SUMPRODUCT((MAX((A1:A99<>0)*1/ROW(A1:A99))=1/ROW(A1:A99))*A1:A99) #2さま フォローありがとうございます。

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.3

配列数式で =INDEX($A$1:$A$99,MIN(IF(A1:A99<>0,ROW(A1:A99),99)),1) と入れて、SHIFT,CTRL,ENTERを3つ同時押し。 例データ 0 0 0 0 0 12 3 4 結果 12

  • x0000x
  • ベストアンサー率52% (67/127)
回答No.2

#1さんの回答で出来ると思いますが、 念のため、確認      A     B 1    分    測定値 2    0     0 3    1     0 4    2     0 5    3     0 6    4     2.36 7    5     4.83 8    6     3.52 なら、 =INDEX(B2:B99,MATCH(TRUE,B2:B99<>0,0)) を式入力した後、Ctrl+Shift+Enter を入力します。 {=INDEX(B2:B99,MATCH(TRUE,B2:B99<>0,0))} のように配列式で表示されます。 ({})は入力するためにフォーカスを与えると{}が消えます。 なお、格納最大行は99行で例示しているので任意に変更してください。 Excel2003で確認しています。

関連するQ&A