アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelで、生没年グラフを作成しています。
過去の質問を調べて、「フローティング横棒」というのを使ってみました。
おおむね、これでいけそうな気もするのですが、この先、以下のようなことはできますか? 

羅列してある人物は、この後、「出身国」データ、「生年」の優先順位で並べ替え、同じ国の人が固まるようにします。
そのうえで、同じ国の人同士は同じ色の横棒にしたいのです。今は、やり方が悪いのか、すべての棒を同じ色に変えることしかできません。


(例)
アメリカ出身のAさん、Bさん、Dさんは赤、日本出身のCさん、Fさんは黄、フランス出身のEさんは紫といった具合。

あるいは、「フローティング横棒」ではできないが、こうすればできる、という方法があれば教えてください。
よろしくお願いします。

A 回答 (2件)

> 同じ国の人同士は同じ色の横棒にしたいのです。



複数の棒を一括して変更することはできませんが、次のように操作すれば、比較的簡単に変更が可能です。

1) 棒の色を変更する時、棒をクリックしたと思います。更に、特定の棒をクリックすると、1本だけ選択されます。

2) その棒の上で、右クリックから「データ要素の書式設定」を選び、「パターン」タブで色を指定して「OK」を押します。

3) 続けて、同じ色に変更する棒を選択して「F4」キーを押すと同じ色に変更されます。

4) 「F4」キーを押す操作を必要な回数だけ繰り返します。

ちなみに、「F4」キーは直前の操作を繰り返すショートカットキーです。

「棒グラフで注目個所をわかりやすく強調する」
http://pc.nikkeibp.co.jp/article/NPC/20060217/22 …

「Excel(エクセル)基本講座:グラフの作成」
http://www.eurus.dti.ne.jp/~yoneyama/Excel/guraf …
    • good
    • 0
この回答へのお礼

ああ、わかりました!
最初にグラフをクリックしたときは、複数の棒の全てが選択状態になってしまうのですね。
それに気づかず色変更をしていたから、全ていっぺんに変わってしまっていた。

もう一度クリックすることで、単一の棒のみ選択できるわけですね。
おかげさまで、作りたいものにかなり近づけることが出来そうです。
特に、「F4」の操作は知らなかったので、とても助かりました。
本当にありがとうございました!

お礼日時:2008/04/18 16:29

まず再現してみます。

下記のようなことかな。
例データ
国氏名生年没年存命
aX1890193545
by1912196856
cz1936197034
au1954201359
cv1956202165
bw1931201180
as1945201873
at1958201759
bh1894194147
ck1956199943
cf1926198357
br1913196249
国+生年でソートします。A1:E13
国氏名生年没年存命
aX1890193545
ay1945201873
az1954201359
au1958201759
bv1894194147
bw1912196856
bs1913196249
bt1931201180
ch1926198357
ck1936197034
cf1956202165
cr1956199943
ーー
C2:D13を範囲指定
挿入ーグラフーグラフの種類ーユーザー定義ーフローティング横棒
でグラフを描かせる。
横軸を捉え
軸の書式設定
目盛
最小値 1800
最大値 2010
目盛間隔 10
補助目盛間隔 10
ーー
元のデータ
項目軸ラベルに使用
A2:B13
OK
棒グラフの左の部分を捉えて
データ系列の書式設定 黄色
棒グラフの右の部分を捉えて
データ系列の書式設定 赤色
これで生存年中のグラフは赤になった。
ーー
・・・ーーーーーーーーーーーー
Az   黄色 |  赤色 |
   -----------ー
AY
AX
ーーーー
18 18 18 ・・・
00 10 20
のようなグラフです。縦軸は反転することは出来る。
その場合縦軸の上から
AX
AY
AZ・・
となる
ーー
さてA国だけのグラフを赤に出来るかとなると
個別にはできるが国aのグラフをを複数個捉えられない。
この点、私の不知で、本当はできるなら、下記VBAなぞ使わなくても良いのだが。
--
それでVBAでやってみた。
Sub Macro1()
cnt = Array("a", "b", "c", "d")
cl = Array(4, 12, 5, 10)
For i = 2 To 12
Worksheets("Sheet1").Activate
kuni = ActiveSheet.Cells(i, "A")
MsgBox kuni
ActiveSheet.ChartObjects("グラフ 5").Activate
ActiveChart.SeriesCollection(2).Points(i - 1).Select
For j = 0 To UBound(cnt)
If cnt(j) = kuni Then
With Selection.Interior
.ColorIndex = cl(j)
.Pattern = xlSolid
End With
End If
Next j
Next i
End Sub
これで国別にグラフが色が指定色になった。
しかし上記のVBAコードはVBAとしての知る必要のある知識を含んでいて、質問者の場合に合わせて、質問者がコードを修正できるか心配。
やる気があれば色々いじくってみてください。
VBAの中級ぐらいの学習者がやれば出来そうだというテストは上記でしたといえよう。
    • good
    • 0
この回答へのお礼

とても丁寧な説明をありがとうございます。
今回のものに関しては、「F4」キーで対処できそうなので、そちらでやっていきます。
VBAに関しては、ちょうどよい教材をいただきましたので、勉強したいと思います。

お礼日時:2008/04/25 08:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!