• ベストアンサー

エクセルで、空白セルをグラフで非表示にし、かつ、AVERAGEなどの計算でエラーにならないようにするには?

エクセルで、空白セルをグラフで非表示にし、かつ、AVERAGEなどの計算でエラーにならないようにするには、どのようにしたらよいのでしょうか。 過去の質問を拝見し、  1)空白セルをグラフで非表示→NA()にする  2)空白セルを非計算→""にする は、理解できたのですが、同時に成立せず、困っております。

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

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.6

>その抽出されたデータだけで、計算およびグラフ表示をしたいと考えています。 >マクロをつかえば、そのデータを値貼り付けしてしまうなど、対策ありそうなのですが、関数だけでいけないでしょうか。 無理だと思います。諦めてください。 私の現有能力範囲から導き出した結論です。 手作業を厭わないなら 編集メニューのジャンプからセル選択で、数式のエラー値、あるいは文字を選びOKでセル選択し、Deleteでセル内容を消去 といった方法もあります。 更新の度に、空白セルに数式のコピーをして、上記作業を行う必要があります。 自動的にというならマクロを組まなければなりません。 と思います。

lemon567
質問者

お礼

このグラフの元データにもしたいが、数式も実施したいというのが、とてもよくあり、なにかもっと調べればよい方法はないかと悩んでいましたが、あきらめがつきました。 本当に質問してよかったです。

その他の回答 (6)

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.7

数式によって、"" 、#DIV/0!、#N/A、等が返されている場合 そのセルをクリアするサンプルマクロを組んでみました。 良ければ試してください。 対象セル範囲の番地を、実際に合わせて書き直してください。 Sub test折れ線()   Dim mycht As Chart   Dim erc As Range   '数式を再セット   For Each erc In Range("B2:C11")     If erc.HasFormula Then       Range("B2:C11").FormulaR1C1 = erc.FormulaR1C1       Exit For     End If   Next   'セルデータが、""とかエラー値の場合消去   For Each erc In Range("B2:C11")     If erc.Value = "" Or IsError(erc) Then       erc.ClearContents     End If   Next End Sub

lemon567
質問者

お礼

再度、ありがとうございます!! マクロを組んでやってみたいと思います。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.5

≪AVERAGE関数≫のみですが Excel2007なら、AVERAGEIF関数があります。 旧Excelなら 平均=SUMIF(データ範囲,">=0")/COUNTIF(データ範囲,">=0") とか 平均=SUMIF(データ範囲,"<>=#N/A")/COUNTIF(データ範囲,"<>=#N/A") で、どうでしょうか。

lemon567
質問者

お礼

Excel2003使用です。 平均=SUMIF(データ範囲,"<>=#N/A")/COUNTIF(データ範囲,"<>=#N/A") で、グラフかつ計算がいけそうです。 ただ、Median(中央値)と、stdiv(標準偏差)も計算したいので、困っています。 Median(中央値)と、stdiv(標準偏差)の計算方法があれば、教えてください!

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

リンクデータではなく、生数値データを計算に使えば良いと思うのですがだめなのでしょうか?

lemon567
質問者

お礼

たびたび、ありがとうございます。 生数値データを計算に使うのは、ちょっと異なった発想で、そちら方面からもアプローチできるかもしれない??と思いました。でも、今の状態ではできないです。 今のところ、生数値データのほうは、異常値なども含まれているので、それを除去するための判定をしていて、その判定に合格なら、リンクを表示するという式になっています。 その抽出されたデータだけで、計算およびグラフ表示をしたいと考えています。 マクロをつかえば、そのデータを値貼り付けしてしまうなど、対策ありそうなのですが、関数だけでいけないでしょうか。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.3

質問の意図がイマイチ理解できていません。 (1)グラフは折れ線グラフでよかったでしょうか。 (2)データ表はどうなっているのでしょうか。 (3)実際の計算式を掲載できないでしょうか。 一例を挙げてみます。 =IF(COUNT(A1:E1)=0,NA(),AVERAGE(A1:E1)) 取りあえず、参考になりそうなURLを貼っておきます。 [XL2002] 折れ線グラフでデータが 0 の要素は前後の要素を直線で結ぶ方法 http://support.microsoft.com/default.aspx?scid=kb%3bja%3b402639

lemon567
質問者

お礼

補足要求ありがとうございます!!! (1)グラフは折れ線グラフでよかったでしょうか。    →グラフは散布図です。 (2)データ表はどうなっているのでしょうか。    データ表は、元の生数値データから、=A1のようにリンクしています。    ただし、元のデータが空欄でしたら、そのまま=A1ですと    0になってしまうので、 =IF(A1="","",A1)のようにしています。    しかし、これですと、""セルが0と認識されてしまって、    プロットされてしまうので、=IF(A1="",NA(),A1)とすると、    グラフはうまくいくようになったのですが、    計算ができなくなりました。 (3)実際の計算式を掲載できないでしょうか。    グラフ表側(セルAA列)     =IF(A1="",NA(),A1)    計算側     =AVERAGE(AA1:AA1000) ※A1は生数値データ、AAはある処理をしたあとの      リンクデータで、グラフにしたい範囲 以上、よろしくお願い致します!!

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

ANo.1です。 >平均=SUM関数/COUNT関数では? 平均=SUMIF(データ範囲,">0")/COUNT(データ範囲) でした。 範囲の有効数値に0がない場合が条件ですが。

lemon567
質問者

お礼

早々ご回答ありがとうございます!!! 現在、データ範囲にNA()が含まれている状態で、 =SUMIF(データ範囲,">0")/COUNTIF(データ範囲,">0") で、計算できました。 しかし、範囲の有効数値に0があるため、困っています。 「">0"」の代わりに、「NA()でない」という式を入れれると、できそうな気がするのですが。。 また、計算したいのは、AVERAGEと、MEDIANです。 なにかアドバイスがありましたら、また、お願い致します。

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

平均=SUM関数/COUNT関数では? 共に”数値”が対象です。

関連するQ&A

  • 【エクセル】VLOOKUP関数入れたセルのエラー表示を空白表示にしたい

    エクセル2000 XP SP2 VLOOKUP関数入れたセルのエラー表示を空白表示にしたい 500ほどのデータを別表からVLOOKUPで参照して入力しています 別表にデータがないものはエラー表示#NAになってしまいます。 これを空白にする方法はありますか? 以前はVISTAと2007でIFERRORですんでいたのですが 2000だと使えなくて困っています

  • エクセル2007のグラフで空白セルを非表示に

    困っています・・ 「グラフを選択して、[グラフツール]-[デザイン]-[データ]-[データの選択]-[非表示および空白のセル]-[空白セルの表示方法]で、オプションのグラフタブに相当する画面がでます。 ここで「空白」を選んでみてください。」 という回答を見つけたので試そうとしたところ、「ゼロ」しか選べないようになっていました。 また、#N/Aという値を入れてもゼロとして表示されてしまいます。 どなたかアドバイスお願いいたします。

  • Excelでグラフ表示と平均値の両立ができません。

    IF(COUNTBLANK(B2:B5)=0,SUM(B2:B5),"")で、空白セルがない場合のみ縦軸の合計値を出すようにしているのですが、その合計値をグラフにすると空白セルはグラフでは0にってしまいます。 空白セルの分はグラフに現れないようにしたいので、 過去の質問を参考に""の部分をna()にしてみたらグラフは希望通りの見た目になったのですが、今度は横軸の平均値を出しているAVERAGE(B6:M6)が#N/Aになってしまいます。 AVARAGE関数の中身をいじって[#N/Aの場合は平均値を出す母体に含まない]というような条件設定ができればうまくいく気がするのですがどうしても方法がわかりません。 どなたかわかる方がいらっしゃいましたらお願いします。

  • エクセルで空白セルを計算させない

    エクセルで空白セルを計算させない 時間計算などで、セルの分類をh:mm;;として、0と負の数を空白セルにさせたとき、空白セルを計算に入れない(0と扱う)にはどうすれば良いのでしょうか。 [空白] [空白]←-10だけど負なので空白  10  20 [空白] となっていて、縦方向に足した時、"見えないマイナス"を0として扱い、合計30にしたいのです。 こんなことは不可能でしょうか?

  • 空白表示セルの内容を表示する。

    excelシートで、広い範囲で空白表示のセルがあります。それらのセルには、数値と式がありますが、空白で表示されています。 これらを、数値(式は計算結果を)で表示することはできるでしょうか。セルの内容を変更することはできません。 例えば他のシートに書式変更などを伴ってコピーするとか。 その範囲にマウスをおいたときグラフ領域と出る場合もあります。推察としてそのシートにグラフがありますが、その表示データのセルかも知れません。

  • 計算式の""は空白セル?

    エクセル2007で、データを選択してグラフを作成しています。 データのセルには、=IF(ISNUMBER(A1),100,"")となっています。 問題は、上記セルの""ですとグラフ上に0をプロットしてしまいます。 ””のセルはプロットしないようにしたいです。 (””をクリアするとプロットしないですが、それですと上記関数の意味がなくなります) 「非表示および空白のセル」オプションで、空白など選択していますが、解決できません。 よろしくお願いいたします。

  • Excel 空白をグラフに表示しないようにするには?

    Excelでグラフを作成しています。 その中で、最大値、最小値を求めるマクロ記述でセルに組み込んでいます。 グラフは折れ線で表示しますが、マーカのみとしています。 <マクロ記述例> =if(C$36=$B5,C$36,"") 最大値(C$36)と現セルの値($B5)と同じだったらグラフ表示セル(マクロ記述位置)に最大値(C$36)を、そうでなければ""(空白)とする。 <問題点> これらをグラフ表示すると(空白)の値まで表示対象になります。 セルの値がクリアな状態(削除)した状態だとそのセル部分は表示されないようです。マクロで(削除)と同じ値を組み込む方法?、それともグラフの設定方法? グラフの軸表示レンジの最小値を0を超える値に設定すると表示しなくなるのですが、0未満のデータも表示されなくなり問題は残ります。 よい解決をご存じの方、お教え願います。

  • EXCELの空白セルを計算しない

    2003で現在集計表を作成しています。 列の最終行にMAX,MIN、AVERAGE関数を割り与えているので、入力されてないセルがあるとMINに”0”を出力してしまいます。 空白セルを計算しない様にするにはどの様にしたらよいのでしょうか? ご教授宜しくお願い致します。

  • 積み上げグラフ 折れ線グラフ 空白セルの補完 エクセル2007

    エクセル2007で(空白の補完を行い)折れ線グラフと積み上げグラフを作りたいのですが、エクセル2000で出来ていたことが出来なくなってしまいました。 保存後に再度ファイルを開くと、空白セルの補完がされない状態になっています。 どなたか上記をクリアされた方、教えてください。 宜しくお願いいたします。

  • エクセルのセルでグラフみたいに・・・

    以前、123全盛の頃に使った関数なのですが、 昔のことで忘れてしまったので困っています。 エクセルでも使えればいいなと思ってお聞きします。 123で計算結果などをわかりやすく見せるためにグラフを使う方法もありますが、 グラフを使わずに、セルの中で数値を記号化する方法がありました。 計算結果のセルの右隣りのセルに関数を入れ、 たとえば、計算結果が「3」なら、右隣りに★を3つ表示させたり、 計算結果が「30」ならば、右隣りに★を30コ表示させたり、計算式で1/10にして3コ表示させるような関数でした。 グラフを使わずとも、パッと見てわかりやすい関数でした。 こんな関数がエクセルでもあるんでしょうか・・・ さまざまな本を読んだのですが、 こんな変な!?関数は乗っていません。 もう、ここしか頼るところがありません(>< 関数の達人の皆様。助けてください・・・

専門家に質問してみよう