• ベストアンサー

初めて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/17068)
回答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

  • Excel2010で3つの値のうち最も少ない値

    Excel2010で3つの値のうち最も少ない値を返して、もしその値が空白だったらゼロと認識する。としたいのですが、 どのような関数にしたらよいのでしょうか? どなたかおしえてください。 例) A1:3 A2:5 A3:(空白) この3つのセルのうち最も少ない数を返す。 =MIN(A1,A2,A3) だと、値3が返ってしまいます。空白もゼロと認識して値0を返したいのです。 ですが、この3つのセル以外に空白セルを残すため、Excel昨日の「空白にゼロ値を表示する」を使いたくありません。 どうぞよろしくお願いいたします。

  • ある数値を始めて越えた時の値が知りたいです。

    A列に以下のような数値があります。B1セルに、初めて2.00を越えた時の値を表示させたいのですが、 どのような方法があるでしょうか?(下では2.10が欲しい数値です) 2を越える一つ前なら以下の関数で出来ました。 =VLOOKUP(2,A:A,1,TRUE) 1.36 1.48 1.61 1.86 1.97 2.10 2.22 2.35 あと、下の数列のように、上の行に2より大きな数字があると、VLOOKUP関数だけだと一つ前すらも求めることが出来ません。 表示させたいのは、『一つ上のセルが2より小さく、初めて2.00を越えた時の値です。』 4.19 3.39 2.68 2.08 1.65 1.36 1.48 1.61 1.86 1.97 2.10 2.22 2.35 関数だけで駄目であればマクロでも構いません。良い方法が無いでしょうか?

  • Excel2002でセルへの数値代入

    使用しているのはExcel2002なんですが 関数などを使用して空白セルへ数値及び文字列を 代入することって可能でしょうか? 例を挙げると、 セルA1に7という値を入力すると、 セルC1にある関数が「10-A1」という計算を行って セルB1に3という値を返すようにしたいのです。 また、セルB1に4という値を入力すると、 セルC1で計算を行い、セルA1には6が返る。 このようにセルA1、B1ともに、人の手で数値の 入力が行われる可能性があるので、表示部分のセルに 関数式を記述せず、空白としておく。 C1に入力する関数は IF(B1="",10-A1,10-B1) として、この結果を、またIFなどを使って 空白の方のセルに入力してあげればいいかなー というところまでは考え付いたのですが・・・ どなたか教えてください。

  • 2つの一次関数のずれを表す数値ってありますか?

    ある2つの数値が比例関係にあることが理論的にわかるとして、この一次関数を描きます。 次に、測定して得られた値から一次関数を描きます。同様な実験をもう一度行い、再び一次関数を描きます。 この2つの関数のどちらが理論的に求められた一次関数により近い直線になるかを表す数値ってあるのでしょうか? よろしくお願いします。

  • EXCEL2002でNOW関数により時刻が15分進む毎に,別のセルの値を+1ずつ増加させる方法

    EXCEL2002でセルの時刻(A1)が15分更新されるのに対応させて、他のセル(B1)の数値を+1ずつ増加させる方法を教えて下さい! 例として, A1に9:00 というNOW関数で表示させた値が、9:15⇒9:30⇒9:45⇒10:00 と変化する度に、 B1の値を「1」を初期値として始まり、 1⇒2⇒3⇒4⇒5 と増加させる方法を教えて下さい!

  • Excel2003 セルの値が0の時、表示させない

    Excel2003に関する質問です。 セルの値が”0”のとき、”0”が入力されないようにしたいです。 IF関数を使えば非表示に出来るのは知っているのですが、 そのセルには既にSUM関数が入力されています。 SUM関数の結果が”0”になるセルの”0”を非表示にしたいんです。 1つのセルに対して関数を2つ入力することは可能でしょうか。 また、SUM関数が入力されているセルに「条件付き書式」で 「セルの値が0の時、文字の色を白にする」だと、 複数のセルを範囲指定した際に、白文字が見えてしまいますので、 これ以外の方法があれば教えてください。 よろしくお願いします。

  • 【Excel】条件を満たした最下行の値を表示

    こんにちは。 Excel2013を使用しています。 《Sheet1》    A     B     C    ・・・・・・    N 1  1234   ○    01/01          2,000 2  1234   ○    01/30          5,000 3  2345   △    01/05          1,000 4  3456   □    01/20          3,000 5  3456   □    01/25          4,000 6  1234   ○    02/10          6,000 7  3456   □    02/15          5,000 上記のような表がSheet1にある場合、A列が1234(数値)である最下行のN列の値をSheet2のA1セルに表示させたいのですが、関数で可能でしょうか? この場合はSheet2のA1セルに表示される値は6,000、同様にA列が2345(数値)である最下行のN列の値の場合は1,000です。 よろしくお願いします。

  • Excelの関数「頻度の高い値を出す方法」で悩んでいます

    Excelの関数「頻度の高い値を出す方法」で悩んでいます。 Excel表に横並びになっている1~6の数値(設問に対する解答のためランダム)から、指定した範囲内に「最もよく出てくる値(最頻値)」を求めたいと思っています。現在はCOUNTIF関数を6つ分つくり、その値にMAX関数をかけて出しているのですが・・・・)なにか良い関数はないでしょうか? よろしくお願いいたします。

  • 【Excel】取り出した値を順番に表示

    Excel2003を使用しています。 A列に『計』と入力された行のGセルの値を取り出して、順番に表示することはできますか? 例えば、A20セル、A24セル、A37セルにそれぞれ『計』と入力されていて、G20セル、G24セル、G37セルにそれぞれ『100』、『200』、『300』と入力されていた場合、どこか別の列、仮にI1セルから順番に『100』、『200』、『300』と表示させたいのですが、関数で可能でしょうか? F列の『計』は不規則に入っているので、空白行のない状態で順番に表示したいと思っています。 よろしくお願いします。

  • Excel セルの値を数値と認識しない

    口座照会の明細をコピーし、Excel に貼り付けて作業をしようと思うのですが、セルに金額が入っているにも関らず、オートサムをかけても結果が「0」になってしまいます。 書式設定で「数値」に変更しても結果は変わりません。 どのようにしたらセルの値を数値と認識させることができるのでしょうか。 変更方法、もしくは値を数値に変換できる関数等がありましたらご教授ください。 VALUE関数を使っても、結果は「#VALUE!」となってしまいます。 銀行のサイトからcsvファイルをダウンロードできれば、上記のような懸案は無いのですが、会社のセキュリティーが厳しくダウンロードできないため、このような問い合わせをします。 何卒お力添え下さいますよう宜しくお願いいたします。

専門家に質問してみよう