EXCELで折れ線グラフを書いているのですが

参照元のセルに何もいれてないと途切れていたのですが
=IF(sheet!S15="","",sheet!S15)
と入れると、値がないところのグラフは0と表示されてしまいます。
0と表示させずにうまく途切れさせる方法はないでしょうか?
横軸に月度、縦軸に値をいれてるので
未来の月の部分をグラフに表示させたくないのです。
ご教授お願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/06/16 14:19:56
  • 終了:2007/06/17 02:09:25

ベストアンサー

id:amnis No.3

amnis回答回数59ベストアンサー獲得回数62007/06/17 01:09:20

ポイント40pt

ちょっと姑息ですが以下の方法でできました。

以下のダミーデータを作って確認してください。


「Sheet1」

まずA列に月度を設定

A1 「1月」

A2 「2月」

A3 「3月」

A4 「4月」

A5 「5月」

A6 「6月」


次にB列にデータを設定。

B1 「123」

B2 「223」

B3 「323」

B4 「0」

B5 「0」

B6 「0」

※データの「0」値は、関数の結果や文字データ、「””」値などと等価と考えてください・・・グラフ上では皆「0」として表示されますから。

※何もさわっていないブランクのセルはデータがないと見なされ、ひとたび操作したセルはグラフ上「0」と見なされるようですね・・・


次にC列に次の関数を入力してください。

c1  if(b1=0,vlookup(a1,sheet2!$a$1:$b$2,2,false),b1)

c2~c6にはc1をコピーペーストしてください。


このとき、参照先のsheet2には何も入力しません。(ブランクのシートを使ってください)


そうすると、c列の値は以下のようになります。

c1 「123」

c2 「223」

c3 「323」

c4 「#N/A」

C5 「#N/A」

C6 「#N/A」


エラーコードが返されるところがミソです。


このA列とC列でグラフを作成すると、B列のデータが「0」値の月はグラフが表示されません。


これで1月~3月には折れ線が描かれ、4月~6月(横軸は表示されています)は何も描かれていないグラフができあがりました(確認済み)

たぶんやりたい事はこれだと思うんですが・・・


最後に仕上げ。

①C列は見せなくてよい情報なので、表示・印刷するシートとは別のシートに設定するか、もしくは同一シートでもはるか遠くの部分に設定すれば見栄え上の問題は解消されるでしょう。

②B列の元データの「0」値は、メニューバーの「ツール」・「オプション」・「表示」から「0値表示」をキャンセルすれば表示されなくなります。


「vlookup」関数に意図的にエラー値を返させているので「姑息な方法」と表しました。


URLはダミーです。

http://q.hatena.ne.jp/1181971195

id:s985758

別列に作るという考え方が抜けていたようです。

A1 「1月」

A2 「2月」

A3 「3月」

A4 「4月」

A5 「5月」

A6 「6月」

B1 「123」

B2 「223」

B3 「323」

B4 「0」

B5 「0」

B6 「0」

ここでB列が

IF(Sheet2!B1="","",Sheet2!B1)

の場合は

C列に

if(b1=0,vlookup(a1,sheet2!$a$1:$b$2,2,false),b1)

設定すると

C4から消えてしまい0と判定されるようです。

そこでC列にIF(B1="",#N/A,B1)

を設定してあげると

C4からは#N/Aと表示され

グラフも綺麗に途切れました。

(エラー文となりますが・・・)

若干自己解決になりましたが、

大きなヒントになりました、

ありがとうございました。

2007/06/17 02:08:49

その他の回答(2件)

id:wnagata No.1

wnagata回答回数170ベストアンサー獲得回数182007/06/16 15:29:01

ポイント10pt

「グラフ」オプションで、

空白セルのプロットを「値0でプロットする」から「補間してプロットする」に変更してください。

http://www.eurus.dti.ne.jp/~yoneyama/Excel/guraf.htm

id:s985758

補間というか、先がない場合なので

1月 200

2月 #N/A

3月 #N/A

のようなグラフを作りたいのですが

=IF(Sheet!S=15"",#N/A,Sheet!AK20)

としてしまうと

元のデータ領域に#N/Aと表示されてしまいます。

元のデータ領域が空欄にみえて

かつ、グラフは2月3月分は途切れるというような

表示にしたいと考えております。

2007/06/16 15:48:20
id:Mug No.2

Mug回答回数15ベストアンサー獲得回数32007/06/16 22:13:33

ポイント30pt

http://q.hatena.ne.jp/

グラフ形式は「散布図」にして、未来日は最新の日付と値を持たせればよいと思います。

 

◆例

A~B列:投入用セル

 A1「月」

 A2「1月」

 A3「2月」

 A4「3月」

 A5「4月」

 A6「5月」

 

 B1「数」

 B2「5」

 B3「8」

 

C列:日付の元ネタ(A列にまとめられればその方がよい)

 C1「初日」

 C2「2007/1/1」

 C3「2007/2/1」

 C4「2007/3/1」

 C5「2007/4/1」

 C6「2007/5/1」

 

D列:グラフ表示用月(グラフX軸)

 D1「年月」

 D2「=IF(B2="",D1,C2)」表示形式=日付(yyyy年mm月)

 D3~D6はD2をコピー&ペースト

 

E列:グラフ表示用数(グラフY軸)

 E1「数」

 E2「=IF(B2="",E1,B2)」

 E3~E6はE2をコピー&ペースト

 

グラフ作成

 (1)D1:E6を選択してグラフ作成

 (2)散布図(折れ線)を選ぶ

 (3)たぶんそのまま「完了」ボタン

 

⇒これで、B2~B6までの数字を変えたり消したりしてみてください。

ただし、B2の数字(最も過去の数字)は消すことができません。上記の例では数式を簡単にするため、そのケースは省きました。

id:amnis No.3

amnis回答回数59ベストアンサー獲得回数62007/06/17 01:09:20ここでベストアンサー

ポイント40pt

ちょっと姑息ですが以下の方法でできました。

以下のダミーデータを作って確認してください。


「Sheet1」

まずA列に月度を設定

A1 「1月」

A2 「2月」

A3 「3月」

A4 「4月」

A5 「5月」

A6 「6月」


次にB列にデータを設定。

B1 「123」

B2 「223」

B3 「323」

B4 「0」

B5 「0」

B6 「0」

※データの「0」値は、関数の結果や文字データ、「””」値などと等価と考えてください・・・グラフ上では皆「0」として表示されますから。

※何もさわっていないブランクのセルはデータがないと見なされ、ひとたび操作したセルはグラフ上「0」と見なされるようですね・・・


次にC列に次の関数を入力してください。

c1  if(b1=0,vlookup(a1,sheet2!$a$1:$b$2,2,false),b1)

c2~c6にはc1をコピーペーストしてください。


このとき、参照先のsheet2には何も入力しません。(ブランクのシートを使ってください)


そうすると、c列の値は以下のようになります。

c1 「123」

c2 「223」

c3 「323」

c4 「#N/A」

C5 「#N/A」

C6 「#N/A」


エラーコードが返されるところがミソです。


このA列とC列でグラフを作成すると、B列のデータが「0」値の月はグラフが表示されません。


これで1月~3月には折れ線が描かれ、4月~6月(横軸は表示されています)は何も描かれていないグラフができあがりました(確認済み)

たぶんやりたい事はこれだと思うんですが・・・


最後に仕上げ。

①C列は見せなくてよい情報なので、表示・印刷するシートとは別のシートに設定するか、もしくは同一シートでもはるか遠くの部分に設定すれば見栄え上の問題は解消されるでしょう。

②B列の元データの「0」値は、メニューバーの「ツール」・「オプション」・「表示」から「0値表示」をキャンセルすれば表示されなくなります。


「vlookup」関数に意図的にエラー値を返させているので「姑息な方法」と表しました。


URLはダミーです。

http://q.hatena.ne.jp/1181971195

id:s985758

別列に作るという考え方が抜けていたようです。

A1 「1月」

A2 「2月」

A3 「3月」

A4 「4月」

A5 「5月」

A6 「6月」

B1 「123」

B2 「223」

B3 「323」

B4 「0」

B5 「0」

B6 「0」

ここでB列が

IF(Sheet2!B1="","",Sheet2!B1)

の場合は

C列に

if(b1=0,vlookup(a1,sheet2!$a$1:$b$2,2,false),b1)

設定すると

C4から消えてしまい0と判定されるようです。

そこでC列にIF(B1="",#N/A,B1)

を設定してあげると

C4からは#N/Aと表示され

グラフも綺麗に途切れました。

(エラー文となりますが・・・)

若干自己解決になりましたが、

大きなヒントになりました、

ありがとうございました。

2007/06/17 02:08:49

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません