• 締切済み

Excel 空白を含むグラフの可変域を設定したい

名前定義を使用してグラフの可変域を自動的に参照させたいのですが、空白の扱いに困っています。 1.データの更新を日付を横軸にした折れ線グラフに  自動的に反映させたい 2.データの空白はグラフ上でも空白として扱いたい 3.できれば関数で処理したいがそれが効率的でなければマクロでも B列にデータの始まり以降は空白を含まない日付、 C列から決まった系列名があり値がそれぞれ列方向に伸びていきますが、 ここに不規則に空白が入ります。    A   B      C     D … → 1  2  日付    項目名 3  2010/1/1   (数値) 4  2010/1/8   (数値) 5  2010/1/15 6  2000/1/22 7  2000/1/29  (数値)         ↓      ↓ 今使っている名前定義:  ='Sheet'!$C$3:INDEX('Sheet'!$C:$C,COUNTA('Sheet'!$C:$C)+1) では空白の有無に影響されてしまいB3からの日付列にしか使えません。 どのような方法に変えるのが良いのでしょうか。 よろしくお願いします。

みんなの回答

  • Zi-co
  • ベストアンサー率46% (23/49)
回答No.3

空白は数式で空白に見せかけてるのでしょうか? それならば文字列とみなされ、文字列は0の扱いになります セルに何も無い空白なら、その間はプロットされません

参考URL:
http://www.excel.studio-kazu.jp/mwiki/images/8/81/CI000213.png
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

例示されたリストは日付がA列で、B列に空白セルを含むデータがあるように見えますが、説明文の内容と違うように思います。 >今使っている名前定義: > ='Sheet'!$C$3:INDEX('Sheet'!$C:$C,COUNTA('Sheet'!$C:$C)+1) >では空白の有無に影響されてしまいB3からの日付列にしか使えません。 質問内容を把握できていないところがありますが、C列の参照するセル範囲を空白セルを含めた範囲(B列の日付のデータ数と同じだけ)にしたいなら、名前定義で単純に「COUNTA('Sheet'!$C:$C)」の部分を「COUNTA('Sheet'!$B:$B)」にすればよいのではないでしょうか。 >2..データの空白はグラフ上でも空白として扱いたい 「空白として扱いたい」の意味がよくわかりませんが、補間してプロットしたいということでしょうか? その場合は、折れ線グラフをアクティブにして「ツール」「オプション」のグラフタブで「補間してプロットする」にチェックを入れてください。 皆さんから的確な回答を得るには、元のデータと表示したいグラフをもう少し具体的に例示されるとよいと思います。

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

今使っている名前の定義を変えても不可能でしょう。 別のシートにデータのない行を除いた表を作成してその表をもとにグラフを作成することになりますね。

関連するQ&A

  • エクセル2007 シートとグラフを連動させるには

    エクセル2007 シートとグラフを連動させるには A列(売上)-B列(コスト)=C列(売上総利益)という表を作り、それを縦軸金額横軸日付という折れ線グラフにしたのですが(つまりC列=売上総利益の折れ線グラフ)、日々シートにデータを入力するとそれに応じてグラフも自動的に更新?されるようにするにはどうすればよいのでしょうか?

  • 【エクセル】グラフの作成方法を教えてください

    以下のデータから希望のグラフを作成したいのですが、うまく出来ません。。 教えてください、宜しくお願い致します。 (1)データ  A列   B列   C列   D列   E列 ・ ・ ・ ・           名前A  名前B  名前C ・ ・ ・ ・  日付   時刻 2016/1/22 15:00  1    2    3 2016/1/22 16:00  0    4    0 2016/1/22 17:00  2    5    1 (2)希望のグラフ 15:00  16:00 17:00     2016/1/22 2016/1/23 2016/24 ←約1ヶ月あります。 中のデータを件数で表示したいです。 グラフ形式は問いません(縦、折れ線など)

  • Excel VBAグラフについて

     A    B   C  あ   2360  2390  い   2380  2463  う   2375  2417  え   2370  2423 上記のシートをVBA(WIN XP)で、B列を縦棒グラフ、C列を折れ線グラフにした時、B列の数値軸の最大値は「2385」、C列の数値軸の最大値は「2500」と左右の軸の数値が異なり、大変見づらくなります。この両方の数値軸の単位を任意で指定することはできないでしょうか。(例えば、数値軸が最小2000、最大3000のように)  また、私は色弱のため、折れ線グラフの色が分かりにくいため、自分で色を指定できないでしょうか?

  • EXCELでグラフのデータ範囲を自動化したい

    EXCELについて質問があります。 いまあるデータをグラフ化しようと思っているのですが、グラフのデータ範囲を自動で指定したいのです。 詳しく話しますと、A列に日付データ、B~Fに数値データが入っています。 なお、B~F列には他のシート(同一ファイル)のデータからVLOOKUPによって日付を検索値にて抜き出した数字が入っております。 そして、グラフ化するデータ範囲は一番古い日付から前日までのB~Fのデータになります。また、A列を項目軸ラベルとして使用します。自動化するのはこの、「前日まで」という部分です。 ちなみにA列には、2003年から2008年までの日付が予め入っています。 ですので、B~F列にはVLOOKUPで検索している関係で現在の日付以降の欄には最後に入力された日付のデータが下にずらずらと表示されています。 現在は手動でグラフの範囲の更新をしている為、未来の日付にデータが入っていることには支障はありません。もし、自動化するにあたって他の方法を用いてデータを抜き出した方がよいのであればその点も明記していただけますと助かります。 よろしくお願い致します。 ※データ詳細 ・4行目からデータが入っています。 ・A列には2003年3月31日から1日ずつ日付が入っています。 ・B~F列には数値データが入っており、B列はsheet2に元データがありA列に日付、E列に抜き出すデータが入っています。C列以降もsheet3,4…と元データが入っており、A列に日付がありますが、抜き出すデータはシートごとに列が違います。 ・元データの日付の開始日はシートによって異なります。(全て03/03/31からあるわけではないという意味です。) ・グラフ形式は積み上げ面です。B~Fの合計値の推移を見る為です。

  • データを入力したときに折れ線グラフを自動的に伸ばしたい

    エクセル2003です 1カ月の折れ線グラフに 毎日入力するデータの累計を 入力したときに折れ線が表示するように グラフを作りたいのですができますか。 累計の列を「1~31」を選択し、グラフを作ると 数値が入力されていないとき折れ線が「0」で表示されてしまうのです。「0」の折れ線を表示させたくないのです。 データ 日付はA列に「1~31」と入力 数値は、B列に毎日入力する 累計は数値を入力すると計算され、C列表示される。

  • エクセルで折れ線グラフにしたいのですが線が出ません

    エクセルのグラフ作成にて下記のようなデータを折れ線グラフで作成したいのですが、どうしても折れ線にならずに数値のところが点で表記されるだけなのです。どうしたらいいかわかりません。 お教えください。    A   B   C   D   E   F (1)  20      40         30 (2)     10      5       8 上記のように A列には(1)の数字のみ。B列には(2)の数字のみといった形です。 もちろん(1)も(2)も入る列はあるのですが・・・。 (1)の折れ線グラフはA-C-F (2)は       B-D-F と数値の入っているところを線で結びたいのです。  普通にやってみるとどうしても線になりません。 教えてください!!

  • エクセルでグラフを最新の50個のデータにしたい

    シートのA列に日付、B列に特性A、C列に特性B・・と列ごとに上から順に空白なくデータが埋まっていく表があります。 このうちの2つの特性(列)をグラフにして「横軸が自動で伸びていく」グラフはできたのですが、ブック(製品)によってデータの数が数個~数百個まで大きく違っているので自動では目的と違ってしまう状況になってしまっています。 画面の大きさの関係でグラフの大きさが限られてしまっており、データが多くなると棒状になってしまいます。 また、同じようにデータの平均値や過去最少値、最大値もあまりデータ数が大きくなってしまっては意味がなくなってしまうことから、直近の30個とか50個のデータで傾向管理するように変更しました。 これに伴ってグラフも同様に最新の30個とか50個のデータで自動作成されるようにしたいのですが。(このデータの数は可変が好ましい) 対象要素は2つまで、各要素は主軸と第2軸で表示させたい。 指定のデータ個数(最低30個)に満たない場合は入力されたデータだけでグラフが作成される、ようにしたいのですが。 現在の方法はまず各要素に「名前の定義」をして、グラフの各線のSERIES( )内を対応する名前に割り当てる、といったような方法で、当方にとってはかなり煩雑な方法です。 もしマクロの方が簡単なら、完全自動でなくてもデータ入力後のボタンクリックでグラフが更新される、はOKです。 色々勝手な要求を書きましたが何卒よろしくお願いいたします。

  • エクセルからグラフの表示

    シート1  A B C D 1りんご 100 50 80 2みかん 空白 空白 40 3パイナップル 90 100 50 と文字と数字がはいっています この数字をシート2でグラフにしました シート1の「名前の管理」 で、「りんご」「=OFFSET(シート2!$B$1,0,0,1,COUNT(シート2!$1:$1))」 と、設定をしておくと、列が増えても自動的に表に反映されます。 この状態で、2にみかんを追加しました。最初のBとCは空白です 同じように名前の管理にいれても、表に反映されません。 どうしてでしょうか? =OFFSET(シート2!$B$2,0,0,1,COUNT(シート2!$2:$2)) といれました 実際のシートの式とは違うので、もしかしたら、$B$2の表示が違っているかもしれませんが、ほかの行は同じような形式で変更させていったら、ちゃんと表になってでてきます。 空白にゼロを入力するとちゃんとグラフがでてきますが、 ゼロというグラフも表示されるので困っています。

  • エクセルの関数とグラフについて

    VLOOKUPを使って入力したIDNoに対して、別々のシートから検索するため次のような関数をいれています。=IF(ISERROR(VLOOKUP($E1,'シート名(1)’!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(1)'!$B$5:$IV$254,COLUMN(G6),0))&IF(ISERROR(VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)),"",VLOOKUP($E1,'シート名(2)'!$B$5:$IV$254,COLUMN(G6),0)) この関数から得られた数値を折れ線グラフに反映させたいのですが、グラフに数値として認識されません。セルの書式設定は数値にしています。 ネットで色々調べてみて、この関数の最後に)/1を追加させた式を入力すると数値は認識されるようになりました。しかし空白の場合に#VALUEになり”プロットしない”に設定しても0にグラフが出てしまいます。 また同じ表で日付に対しても日付で表示されなかったので=IF(ISERROR(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(1)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))&IF(ISERROR(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0)),"",TEXT(VLOOKUP(E$1,'シート名(2)'!$B$5:$IV$254,COLUMN(AC6),0),"ge.m.d"))の関数を入力したところ日付が表示されるようになったのですが、空白の場合は”M33.1.0”となりグラフ上でも表示されてしまいます。 どうすれば日付や数値としてグラフ上に反映させられるのか教えてください。また空欄の場合には0にポイントされないM33.1.0にならない方法も教えてください。 エクセルは2003です。 エクセル初心者のため説明不足等あるとは思いますがよろしくお願いします。

  • エクセルグラフで0が表示される

    いつものことですみません。 教えてください。 エクセルで折れ線グラフを描画しましたところ、一番最後の表示が0になってしまうのです。 A列に日付(時間)、B列に数値データがリアルタイムに入ってくるので最後の行を特定できません。適当に広い範囲を指定しています。 B列の数値データの平均値(複数)を計算してC列(3平均値)・D列(5平均値)・E列(9平均値)に置いています。 ちなみにセルC3は、=IF(B3="","",AVERAGE(B1:B3))です。 見た目には、なにも表示がなく、0は入っていないのですが・・・ お忙しいとは存じますが、なにとぞよろしくお願いいたします。

専門家に質問してみよう