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も見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
-1234 を (1234) と表記する由...
-
エクセルで現場ごとに機材の移...
-
他部署からもらう データで、 ...
-
Excel 1の位の数字で処理を分岐...
-
Excelのセルの色を変えた行(す...
-
エクセルの数式について教えて...
-
Excelでの記号と特殊文字につい...
-
とびとびの大量セルを選択した...
-
MACにおけるエクセルの入力トラ...
-
ある表にフィルターをかけて出...
-
Lookup関数
-
エクセルの数式バーのフォント...
-
再質問です。マクロの修正箇所...
-
エクセルで「ページレイアウト...
-
EXCELの散布図で日付が1900年に...
-
【マクロ】VLOOKUPにて参照元に...
-
exselの質問です
-
エクセルでファイルの最終更新...
-
Excel 大小比較演算子による「...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報