
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
なかなか特殊なデータの持ち方を工夫しないと、ストレートな方法は無いと思う。
エクセルグラフは余り融通が利かない(ユーザーのニーズを入れる点は少ないと、いつも思う)
ーーー
個人的に興味を持ったので、VBAで出来ないか、やってみた。
参考までに。
中途ではあるし、お遊びのようなものに終わっているが、ちょっとした思い付きを実現するにも、それほど独自でやると複雑だということだろう。
ソートを自分でコードしなければならない部分でコード行数が増えている。
例データ
ーーーxyzu
a23124317
b3615739
c16381446
d2716565
X-Uはデータ項目名の代わり
ーーー
標準モジュールに
Sub test03()
Dim temp As Integer
Dim data(10) '列数に応じて増やすこと データを収納
Dim nam(10) '列数に応じて増やすこと 項目名を収納
Dim col(10) '列数に応じて増やすこと 棒の色コードを収納
Dim Count As Integer 'データ列数
clind = Array(0, 3, 4, 5, 6, 7, 9) '左列からの棒の着色コード
'---
Worksheets("Sheet1").DrawingObjects.Delete 'グラフなど抹消
b = 500# 'グラフのX軸位置
l = 135# 'グラフのY軸位置
w = 25# '棒の幅=太さ
d = Range("a65536").End(xlUp).Row 'データ最終行取得
r = Worksheets("Sheet1").Range("iv2").End(xlToLeft).column 'データ最右列取得
For i = 2 To d '行の繰り返し
'----各行の列データをバブルソート
For j = 2 To r
data(j - 1) = Cells(i, j)
col(j - 1) = j - 1
nam(j - 1) = Cells(1, j)
Next j
Count = j - 2
'---降順ソート
For j = 1 To r - 1 '比較元
s = j + 1
For k = s To Count '比較先
If data(j) < data(k) Then
temp = data(j): tempn = nam(j): tempc = col(j)
data(j) = data(k): nam(j) = nam(k): col(j) = col(k)
data(k) = temp: nam(k) = tempn: col(k) = tempc
End If
Next k
Next j
'---ソート完了
For j = 1 To r - 1 'データの大きいものから上に棒を積み上げ
v = data(j) * 3 '3倍は大きさの見栄えを調節
Worksheets("Sheet1").Shapes.AddShape(msoShapeRectangle, _
Left:=l, Top:=b - v, Width:=w, Height:=v).Select
Selection.Characters.Text = nam(j) & vbCr & data(j)
ci = clind(col(j))
Selection.Interior.ColorIndex = ci
b = b - v
Next j
b = 500# 'X軸位置に戻る
l = l + 50 '右へ棒の位置をずらす
Next i
'---X軸、Y軸直線を描く
ActiveSheet.Shapes.AddLine(135 - w, 500, l + 40, 500).Select
ActiveSheet.Shapes.AddLine(135 - w, 500, 135 - w, 100).Select
End Sub
'--
データ列数、行数の増加減少には対応。
b = 500# 'グラフのX軸位置
l = 135# 'グラフのY軸位置
w = 25# '棒の幅=太さ
の部分は調整すること。
(1)難しさ
しかしデータが多くなると1つの要素のマーカーの大きさを調節しないとならないので、面倒(試行錯誤)
(2)未完成
・軸の目盛と、見出しが出てない。
・数値が少ないとデータマーカなどの大きさを変えないと隠れてしまうが、フォントを下げると見難い場合が起こる。
・データ列が増えると区別する色も増やさないといけないが、要修正
アドバイスありがとうございます。
VBAコードまで考えていただいて!!
ありがとうございます!
VBAは初心者ですので、
このコードをとりあえずコピーして、どこまでできるか、、
頑張ってみます。
かさねがさね、ありがとうございました。
No.2
- 回答日時:
関数で6系列なら6^2系列つかえばできる。
画像は3系列を9系列で

アドバイスありがとうございます。
不勉強で申し訳ありません。
なかなかおっしゃる意味が分からなかったのですが、
表を良くみてexcelに書き出して
なんとなくですが 理解できました。。
応用できないかやってみます。
ありがとうございました。
No.1
- 回答日時:
>各棒の積上げ順序を、下から数値の大きい順に積上げたい
「各棒の」という言葉が大変気になりますが,「棒ごとに」系列の順序を上下入れ替えることは,手動でも出来ません。
方法1:データ系列ごとに上下を入れ替えるには
元の表の全体を「大小の基準となる列または行により」並べ替えてしまえば,グラフの上下順はそれに追従します
方法2:「棒ごとに」上下を入れ替えるには
棒と棒のデータ系列の連続は「無視して」とにかく「大きいモノから積み上げ」たグラフを描きたいというお話なら。
元の表から,グラフの元にする並べ替えた別表を計算で作成し,そちらを元にグラフを描きます。
例:
A列 B列 C列 D列
1項目 4月 5月 6月
2AA 2 1 5
3BB 4 4 2
4CC 6 2 1
5
6最大 =LARGE(B$2:B$4,ROW(B1)) 右にコピー
7中間 下にコピー
8最小
のように計算し直してA6:D8を元にグラフを作成します。
なるほど、元の表を関数を使って並べ替えるのですね。
アドバイスありがとうございます。
ただ、元の表のデータも大きいので、、、
データ系列も30種類ほどあり、項目が100件ほどでしょうか、、、、
どうしたらいいやらと、、
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelグラフについて 1 2023/05/12 16:26
- Excel(エクセル) エクセルで 2 2022/12/16 16:54
- Excel(エクセル) エクセル ヒストグラム作成 1 2023/01/02 09:55
- Excel(エクセル) 荷捌作業効率をあげるためのエクセル関数を教えてください。 8 2022/10/07 08:17
- その他(プログラミング・Web制作) パイソンのプログラミングについての質問です 2 2023/05/22 12:39
- Excel(エクセル) エクセルのグラフに上下限値の横棒を表示させたい 5 2022/12/12 11:09
- PowerPoint(パワーポイント) ExcelのグラフをPowerPointに貼り付けした際にデータテーブルの小数点以下を削除したいです 2 2023/02/28 19:46
- 数学 「f(x)とg(x)のグラフで囲まれた面積を求めよ」 という積分の面積を求める典型問題がありますが、 7 2023/06/09 01:16
- Excel(エクセル) <スプレッドシート>採用進捗 グラフ作成について 3 2022/10/23 15:52
- 小学校 算数の問題で悩んでいます。 2つの数A,Bを四捨五入して整数の概数にすると、順に25と3になりました 5 2023/08/21 15:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
エクセルの循環参照、?
-
【関数】同じ関数なのに、エラ...
-
【マクロ】列を折りたたみ非表...
-
【マクロ】【配列】3つのシー...
-
【マクロ】アクティブセルの時...
-
iPhoneのExcelアプリで、別のシ...
-
【マクロ】EXCELで読込したCSV...
-
【条件付き書式】シートの中で...
-
【マクロ】3行に上から下に並...
-
【マクロ】オートフィルターの...
-
【マクロ】A列にある、日付(本...
-
vba テキストボックスとリフト...
-
エクセル
-
【エクセル】期限アラートについて
-
Excel 複数のセルが一致すると...
-
【マクロ】WEBシステムから保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報