- ベストアンサー
Excelでグラフの単位を変更する方法
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
代案でテキストボックスをVBAで被せてみました。 グラフを選択しておいて実行してください。 サイズと座標の補正値は試行錯誤してください。 Dim mins As Double, maxs As Double, maju As Double Dim axel As Double, axet As Double, axew As Double Dim fsize As Variant Dim x As Double Dim y As Double Dim n As Long Dim i As Long On Error Resume Next With ActiveChart .TextBoxes.Delete End With On Error GoTo 0 With ActiveChart With .Axes(xlCategory) axel = .Left axet = .Top axew = .Width mins = .MinimumScale maxs = .MaximumScale maju = .MajorUnit fsize = .TickLabels.Font.size End With n = (maxs - mins) / maju For i = 0 To n ''テキストボックスの座標 x = axel + axew / n * i - 20 y = axet + 5 ''テキストボックス With .TextBoxes.Add(x, y, 32, 15) ''書式設定 .Interior.ColorIndex = 2 .HorizontalAlignment = xlHAlignRight .VerticalAlignment = xlVAlignCenter .Font.size = fsize ''軸ラベル値 .TEXT = i * maju * 1000 End With Next i End With
その他の回答 (2)
- matsu_jun
- ベストアンサー率55% (146/265)
supertatさん こんばんは そのものズバリの解決策を見つけることはできませんでした。 ただし、1000倍の場合は、見かけ上は同じ結果を得る方法はあります。その方法は、 「グラフの表示を1000倍するのではなく、セルの表示を1/1000にすること」 です。 つまり、例示した画像中の、B列一番上のセルに「1」を入力すると、セルの方は「0.001」と表示され、グラフの軸は「1」と表示されるようになるというわけです。 (手順) ・B列データ行の書式設定を開き、表示形式のタブを選びます。 ・「分類(C)」を「ユーザー定義」とします。 ・「種類(T)」を「0.000,」とします。 B列には、m単位でなく、mm単位の値(今回の例では上から1、2、3、4、5)を入力します。 すると、セル上では「0.001」 グラフ上では「1」と表示されているはずです。 ちなみに、100万分の1にするには、「0.000,,」となります。 今回の目的には合致しないかもしれませんが、どこかでお役に立てればと思います。 P.S. グラフの書式を1000倍する方法はありませんが、セルの書式を1000倍する方法ならあります。(今回とは逆の結果になりますけど) Web上やOKWave上でも幾つか紹介されているので、一度ご覧になって下さい。
お礼
お礼が遅くなって申し訳ありません。ご回答ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
エクセルは(特にグラフは)データをそのように作らないと、表示だけをいじるのは出来ない。 表示形式で編集できるのはデータラベル、軸の書式設定(散布図の場合はY軸、X軸ともあり)の表示形式だが。 エクセルのシートのセルのデータでさえ、0.001を1と表示する表示形式も無いと思う。 シートのセルのデータにも1000倍で表示するなどは無い。 だからグラフの軸の書式設定も質問のものは不可能。
お礼
お礼が遅くなって申し訳ありません。ご回答ありがとうございました。
お礼
ご回答くださった皆様、ありがとうございました。 VBAを使わないと難しそうだということがわかりました。 代表してこちらでお礼させていただきます。