セル内の数値0をカウントしない方法 - Excel2007のデータベース作成について

このQ&Aのポイント
  • エクセル2007でデータベースを作成する際に、セル内の数値0をカウントしない方法を知りたい。
  • データベースのシート1のB4からB100に数値データが入力されると、自動的にシート2のA4からA100までコピーされるように設定している。しかし、月初のほとんどのセルは0.00であるため、A101以降で0以外の数値データのみを対象にした平均値、MAX、MIN、標準偏差などを求めたい。
  • 既に試した方法として、=SUM(A4:A100)/COUNTIF(A4:A100,">0")を使用したがうまく行かなかった。0以外のセルを指定する方法について、良い方法を知りたい。
回答を見る
  • ベストアンサー

セル内の数値0をカウントしない方法。エクセル2007でデータベースを作

セル内の数値0をカウントしない方法。エクセル2007でデータベースを作っています、Sheet2のA4:A100にはSheet1のB4から順次B100へ数値データが入力されるとA4から順次A100までコピーされるように設定しました。月初は殆どのセルは0.00です。A101以降に0以外の数値データのみを対象にした平均値、MAX,MIN,標準偏差等を出したいのです、先日平均値については =SUM(A4:A100)/COUNTIF(A4:A100,">0") と教えて戴きました、データとしての0値はありませんOイコールデータが無いの意味です、データは必ずA4から順次入力されます。0以外のセルの指定は(A4:A100,">0")ではダメなのでしょうか、 =MAX(A4:A100,">0)ではうまくいきません、良い方法をご存知の方教えて下さい。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

ごめんなさい、暑さボケですかね。 正しくは以下の用にように、Sheet1のB4セルが空白なら空白文字列を、何か入力されていた場合はその値を表示する式にしてください。 =IF(Sheet1!B4="","",Sheet1!B4)

me-kunn
質問者

お礼

うまく出来ました。ウンザリするほど出来の悪い私に再三のご教示有難う御座いました。

その他の回答 (4)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.4

>「関数の引数」には="「正しくない」と出ます、私の入力方法に問題があるのでしょうか。 私の提示した数式に誤りがありました。 数式の途中の「=」は不要です。 以下のようにしてください。 =IF(Sheet1!B4,"","",Sheet1!B4)

me-kunn
質問者

補足

ご教示通りに入力したところ、「この関数には、引数が多すぎる」、右端のB4がマーキングされます、私に応用力が無く、恥ずかしながら再三のご教示、お願いします。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>Sheet2のA4:A100にはSheet1のB4から順次B100へ数値データが入力されるとA4から順次A100までコピーされるように設定しました。月初は殆どのセルは0.00です。 数式で平均や最小値を計算するときは、空白セルを「0」ではなく空白文字列「""」を表示するようにします。 すなわち、Sheet2のA4には「=IF(Sheet1!B4,="","",Sheet1!B4)」のように設定します。 このようにしておけば、空白文字列(今までは0と表示されていたセル)を無視して、普通の関数で計算することができます。

me-kunn
質問者

補足

ご教示有難う御座います。この式では「正しくない」との表示が出ます、「関数の引数」には="「正しくない」と出ます、私の入力方法に問題があるのでしょうか。

  • approx
  • ベストアンサー率46% (95/205)
回答No.2

COUNTA関数を使えば、値がNull(入力されていない)以外のセルをカウントしますが それではダメなのでしょうか? COUNTA(A4:A100)で、A4~A100の内空白でないセルの数をカウントします。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

MAX関数に">0などは使えません。次の式で十分でしょう。 =MAX(A4:A100)

me-kunn
質問者

補足

早速のご回答有難う御座います。MAXについてはおっしゃる通りです、MINでは0となります。0のセルを無いが如くにしたいのです、日々のデータ入力による標準偏差も知りたいのですが。説明足らずでごめんなさい。

関連するQ&A

  • 数値0をカウントしない。エクセル2007でデータベースを作っています、

    数値0をカウントしない。エクセル2007でデータベースを作っています、B,C,D列に別のシートから数値をコピーしています、元データに数値が有ればコピーされ、なければ0.00と表示しています。 各列の最下段にデータ数、平均値などを表示させたいのですが0.00のセルををカウントさせない方法を教えて下さい。B3からB100まで準備し、現在はB10までしか数値入力されていません、最下段B101にはB3からB10までの平均値などを表示したいのです、B100まで毎日入力が有ります。

  • 数式の数値を除いた数値のカウント

    =COUNTIF(A1:A5,">=0")で0以上の数値のセルをカウントしたいのですが、 途中に小計等の「数式の結果の数値」があり、 その数値も含めてカウントされてしまいます。 数式の結果である数値は除いた、直接入力した数値のみカウントすることはできますか? 例えば、A1~A5セルに表示されている数値が A1:8 A2:-5 A3:空白 A4:3(=SUM(A1:A3)) A5:2 の場合、=COUNTIF(A1:A5,">=0")で「3」となりますが、 A4の数式の結果の数値の3は含めずに、 数値を直接入力した数で>=0である個数の「2」となるようにカウントするにはどうすればよいでしょう? やはり「数式の結果の数値」も「直接入力した数値」も 同一のものとしか判断できないのでしょうか?

  • エクセルでセルをカウントしたい!

    エクセルを使ってある言葉が出てくるセルの数をカウントしたいと 思っています。 たとえば一つのセル、 Aの1に「言葉の数を数えます。」 と文字がはいっていたとして、 これを=COUNTIF(A1:A1,"*数*")とすれば、 出てきた個数ではなく、セルの数として 「1」と返ってくると思います。 これを応用して、 Aの1に「数」と入力されていて、 Bの1に「言葉の数を数えます。」が入っていて、 =COUNTIF(B1:B1,"*数*")で数えるのではなく、 =COUNTIF(B1:B1,"*A1*")としてAの1の文字を 認識させてセルの数をカウントしたいんです。 しかしこれではエラーがでるし、 だからといって =COUNTIF(B1:B1,A1)では0になってしまいます。 どのようにすればA1の文字を参照させセルの数を カウントすることができるでしょうか?

  • EXCELでセルの内容を関数名にできないでしょうか?

    EXCEL2000を使用していますが、たとえばA1セルにSUMと入力されているとします。B1~B5まで数値があるとします。 たとえばB列の数値のB6に合計を出すときは、=sum(b1:b5)となりますが、このSUMの部分をA1セルの内容が利用できないものかと悩んでいます。 たとえば、平均を出したいときにA1にAVERAGEと入力すればB6に平均が・・最大値を表示したいならばA1にMAXをという具合にならないものでしょうか? 質問の内容が煩雑で申し訳有りませんが、よろしくお願いします。

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

  • !!!!エクセルのカウント!!!!

    他のシートから「=」で顧客名と担当者を拾い以下のように2段でセルに入力し入力されている上段の顧客数のみカウントを行ないたいのですが、COUNTAで行なうと全部の数(イコール設定されているセルも含めて)カウントしてしまいます。困っています。良い式を教えてください宜しくお願いします。    A様 担当者 B様 担当者 C様 担当者 上記別のシートよりデータを各々のセルに飛ばし、A、B、Cの各顧客の数のみをカウントしたい。

  • エクセルの他シートのセルの値をセル範囲で指定

    エクセルの他シートのセルの値をセル範囲で指定 お願いします。 sheet1のA1からA3まで1,2,3と入力されていてセルB1にA1:A3と入力されています。 sheet2のA1にsum(sheet1!A1:A3)と入れると6になるのですけれど、 A2にSUM(INDIRECT(sheet1!(B1))と入れると0になってしまいます。 これをどのように解決したらいいですか? よろしくお願いします。

  • 関数計算されたセルを数値にする方法

    すいませんが、教えてください。関数計算されたセルを関数計算の状態ではなく、数値として変更することは可能でしょうか? たとえばA1セル(1),B1セル(2)があり、C1セルに=SUM(A1+B1)と入力すると画面上では3とでますが、セルの中身としては関数式の状態です。これを"3"と認識したいのですが・・・。

  • エクセル 条件により数値を指定する方法

    エクセル2007/vista使用の初心者です。よろしくお願いいたします。 【例】 Sheet1のセルA1に何も数値を入力しなかったらSheet2のセルB1はゼロ   〃   セルA1に何かしら数値を入力したら、Sheets2のセルB1は1000となるようにするには どうしたら、いいでしょうか? 沢山の質問の中に、もしかして同じ事例があったら 申し訳ございません。 よろしくお願い申し上げます。

  • Excelのカウント

    セルA列に入力されている数値を参照し、セルB列のように出力したいです。 セルA2に0と入力されていれば、BセルB2、B3、B4、B5に0になるようコピーしたいのですが、数が膨大なためどなたかよい対処法をどなたか教えて頂けないでしょうか。 ちなみに、A列に入力されている数値は0と1のみになり、A列の数値はランダムに入力されています。

専門家に質問してみよう