- ベストアンサー
初めて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関数が使えません。何かいい方法教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
A列にデータがあるとしたら、 =INDEX(A1:A99,MATCH(TRUE,A1:A99<>0,0)) を配列数式として入力(Ctrl+Shift+Enter) でいかが?
その他の回答 (4)
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法もありますよ =INDEX(A:A,MATCH(1,INDEX(1/(A:A>0),),0))
#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)
配列数式で =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)
#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で確認しています。
補足
早々のご回答アリガトウございます。 さっそくA列にデータを入力し、 >=INDEX(A1:A99,MATCH(TRUE,A1:A99<>0,0)) をペーストしてみましたがうまくいかず#N/Aが表示されてしまいます。