「教えて!ピックアップ」リリース!

化学系の仕事をしていて実験の値をエクセルでまとめています。
こんなことは出来るのでしょうか?

1分ごとに測定を行いますが、はじめの数分は0の値が続きます。
簡単に例を挙げるとこんな感じです。
【例】
分→測定値
00→0
01→0
02→0
03→0
04→2.36
05→4.83
06→3.52

このとき初めて数値が0以外の値が出たときの2.36の値を適当なセルに表示させるにはどのような方法がありますか?測定値の数値には規則性がないのでMAX関数やMIN関数が使えません。何かいい方法教えてください。

A 回答 (5件)

A列にデータがあるとしたら、


=INDEX(A1:A99,MATCH(TRUE,A1:A99<>0,0))
を配列数式として入力(Ctrl+Shift+Enter)
でいかが?

この回答への補足

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

補足日時:2007/08/23 21:13
    • good
    • 3

◆こんな方法もありますよ


=INDEX(A:A,MATCH(1,INDEX(1/(A:A>0),),0))
    • good
    • 6

#1です。



通常の数式は、数式を打ち込んだ後Enterキーで確定しますが、
配列数式として入力する場合は、数式を打ち込んだ後、
CtrlキーとShftキーを押しながらEnterキーを押して確定します。

どうしても上手く行かない場合は、泥臭いですが、下記の数式をお試しください。
こちらは通常どおりEnterキーのみで確定しても機能します。
=SUMPRODUCT((MAX((A1:A99<>0)*1/ROW(A1:A99))=1/ROW(A1:A99))*A1:A99)

#2さま
フォローありがとうございます。
    • good
    • 2

配列数式で


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

#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で確認しています。
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング