- ベストアンサー
エクセル グラフ 系列ラベルを部分的に非表示にするには?
エクセル2002を使っています。 積み上げ縦棒グラフで 項目軸を1月から12月 数値軸に当月の金額実績 を設定しています。 系列ラベルを表示させているのですが、金額実績の入れられている1月は問題ないのですが、金額実績が出ていない2~12月はデータが無いため、系列ラベルがX軸に固まってへばりつき見苦しい。 2~12月の系列ラベルを非表示にして、データを入れると表示されるようにならないでしょうか? どなたかご教授お願いします。
- みんなの回答 (8)
- 専門家の回答
質問者が選んだベストアンサー
#3です。たびたびすいません、ポカミス訂正ですm(__)m。 誤:=IF(B2<>"",B2,100) 正:=IF(B2<>"",B2,-100) 意味合いは値がない場合に強制的に-100として、マイナスの積み上げとするわけです。Y軸の最小値を0に固定しているので隠れてしまう・・・という力技です。
その他の回答 (7)
- dac203
- ベストアンサー率43% (92/212)
#3です。 うぅ~すいません、データが歯抜けになる可能性をすっかり見落としてましたm(__)m。余計な作業になってしまって申し訳ないです。 別の方法を考えてみました。#3の発展型です。データは下の様になっているとします(左上の空白がA1)。 1月 2月 3月 4月 5月 6月・・・12月(M1セル) 項目A 100 項目B 150 項目C 300 次に A5セル =A2 B5セル =IF(B2<>"",B2,100) と入力し、B5の内容をC5~M5までオートフィルでコピーします。次にA5~M5の内容を下にオートフィルでコピーします(A7の行まで)。 次にA1~M1とA5~M7までを範囲選択して積み上げグラフを描きます。最後に縦軸の書式設定で最小値を0に固定します。 ・・・でどうでしょうか。
- fukuchan7
- ベストアンサー率51% (156/302)
No.4です。先ず、お詫びします。数式にミスがありました。 「=IF(ISERROR(OR(2月項目セル:2月項目Cセル)),"","2月 "」は「=IF(ISERROR(OR(2月項目Aセル:2月項目Cセル)),"","2月 "」が正解です。 「データが無い為、X軸にへばりついています。」の情況は判りません。データがなくてもグラフにはその列分のグラフ表示スペースが確保されているはずですが? もう一度サンプルで説明します。 セルA2に項目A、A3に項目B、A4に項目C セルB1に1月、 セルB2に100、B3に150、B4に300 とデータ入力をします。 セルC1に「=IF(ISERROR(OR(C2:C4)),"","2月")」と設定 オートフィルでM1までコピーします。 セルD1の「=IF(ISERROR(OR(D2:D4)),"","2月")」の「2月」を「3月」に変更し 「=IF(ISERROR(OR(D2:D4)),"","3月")」に設定 以下同様に最後のM1のセルの式を 「=IF(ISERROR(OR(M2:M4)),"","12月")」に設定 次に、A1~M4までドラックしグラフを作成します。 グラフは、1月だけの積み立て棒グラフが表示され、X軸の1月以降は12月が表示されるところまで等間隔にブランクで表示されます。 2月にデータを入力するとセルC1に「2月」と表示され2月のグラフが表示されます。3月以降同じ 表示されるデータが無い系列ラベルを非表示にするには、面倒ですが、そのラベルを2回クリックして選択しDELキーで削除すればOKです。 以上です。
お礼
回答ありがとうございました。 今回はNo.3の型方の回答を参考にさせて頂きました。 お手数をおかけしました。
- dac203
- ベストアンサー率43% (92/212)
#3です。未入力の項目があるとのことなので別の方法を探ってみました。最初はかなり面倒で、やっぱり制約がありますが・・・。まずSheet1に次の様な表があるとします。 1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月 あ 150 60 30 50 い 160 20 う 130 170 メニューから「挿入」-「名前」-「定義」で下の様な名前を定義します。 名前 参照範囲 あ =OFFSET(Sheet1!$A$2,0,1,1,COUNTA(Sheet1!$2:$2)-1) い =OFFSET(Sheet1!$A$3,0,1,1,COUNTA(Sheet1!$3:$3)-1) う =OFFSET(Sheet1!$A$4,0,1,1,COUNTA(Sheet1!$4:$4)-1) 次にA1~M5までを選択して積み上げグラフを作成します(A5~M5は空欄ですがダミーデータとして必要です)。以下はグラフウィザードを使うとして説明します。系列タブをクリックして各系列の「値」を次の様にします。 系列 値 あ =Sheet1!あ い =Sheet1!い う =Sheet1!う データラベルに「系列名」を指定して完成。凡例部分にはダミーデータの系列が表示されてしまいますが(^^;)。あと、おいらがやったところでは項目名で10月以降の部分に月が表示されませんでした。この場合は文字の大きさを小さくするか、「軸の書式設定」-「配置」で角度を付けてみてください。 50系列あるということで名前の定義が大変ですが(一度作った名前を選んで別名で追加していけばいくらか楽)、どうでしょうかね?
お礼
何度もありがとうございます。 回答頂いた通り実施すると確かに系列ラベルが非表示になりました。 私の説明不足で申し訳ありません。 ただデータが飛び飛びになった場合には有効ではありませんでした。 たとえば”あ”系列の5月が空白で6月にデータがあるとデータが表示されませんでした。 5月に0を入れれば6月データは表示されましたが、5月にラベルが表示されてしまいます。 いろいろと回答頂き、感謝しております。 もしこの問題が解決される回答がありましたら投稿お願いします。 何度も恐縮です。
- fukuchan7
- ベストアンサー率51% (156/302)
作成データに月項目を表示させないで、該当月のデータセルに金額を入力すると該当月も表示されるこんな方法はいかがですか? データの表を下記のように設定しますします。 (1月 2月 ~ 12月)( )はダミーデータです (空白)1月 「=」 項目A 100 項目B 150 項目C 300 「=」のセルに数式「=IF(ISERROR(OR(2月項目セル:2月項目Cセル)),"","2月 "」と入力します。この状態で、2月の項目データは未入力ですので、「=」のセルは空白になっています。この各項目セルにデータを入力すると、「=」のセルに「2月」と表示されます。 以下、この数式を12月までオートフィルでコピーをします。3月以降のこの数式を見ますと数式の月表示がすべて「2月」になっていますので、これをそれぞれの月表示に変更します。 12月のセルに数式(=IF(ISERROR(OR(2月項目セル:2月項目Cセル)),"","12月 ")になります。 これで、表の完成です。 グラフを作成するときは、(空白)セルから12月の項目Cセルまでドラックして積み上げ棒グラフを作成します。 該当月の項目セルにデータを入力するとグラフに月項目が表示されグラフが表示されます。 私の考えられる範囲は、この程度ですが一度試して下さい。
補足
回答ありがとうございます。 教えて頂いた方法を試してみました。 系列ラベルの”項目A””項目B””項目C”はやはり2月以降の各月に表示されており、データが無い為、X軸にへばりついています。 やり方がおかしいのでしょうか?
- dac203
- ベストアンサー率43% (92/212)
かなりの力技になりますが・・・仮に下の様なデータがあるとします(1月はセルB2)。 1月 2月 3月 4月 5月 6月 項目A 100 項目B 150 項目C 300 次にB5に =IF(SUM(B2:B4)>0,0,1000) と入力して横へコピーしておきます(この例だと6月まで)。次にA1からG5まで範囲選択してグラフを描き、数値軸の上限を800、項目A~Cに対応する系列にデータラベルをつけます。 系列4(上にて数式を入れた部分)を「系列の順序」で一番上に持っていき、輪郭も領域も色なしにします。これでそれっぽく見えると思います。 ただ凡例を表示させている場合は系列4がおかしく見えますし、軸の上限を固定しているので項目A~Cの合計値がそれを超えた場合に上限値を再設定の必要があります。 おいらの頭ではこれが限界ですm(__)m。
お礼
ありがとうございました。 見事に2月以降の系列ラベルが無くなり、感激しました。 新たな問題として、系列が50あり、1月でもデータの入っていない系列名が表示され、じゃまになります。 厚かましいようですが、もしこの消し方があれば、ご教授頂きたくお願いします。データを入れた分だけ系列ラベルが表示方法は無いのでしょうか?
- dac203
- ベストアンサー率43% (92/212)
もしかしてデータラベルが値ではなく系列名なのでしょか?
補足
そうです。 値ではなく、系列名です。 何か方法はありませんか?
2~12月は、セルは空欄なんですね。 作成したグラフ選択(グラフエリア)>ツール>オプション >グラフタブ>プロットしない(空白を残す)をオンにすると 系列ラベルがきえましたよ。
補足
早速の回答ありがとうございます。 教えていただいた手順を実施しましたが、系列ラベルは消えません。 既に”プロットしない(空白を残す)”はオンになっていました。 何が違うのでしょうか? 再度ご教授頂きたくお願いします。
お礼
ありがとうございました。 完全に解決し、スッキリしました。 エクセル初心者で、質問も初心者なものですから、お手数をおかけしました。 今考えると、回答いただいている皆さんのように例題を挙げて質問すれば良かったと反省しています。 それにしても湯水の様に回答が出てくるのはうらやましい限りです。 ほんとうにありがとうございました。