Excel VBAがお得意の方、どうぞお知恵をお貸しください。


下記URLにあるcsvファイルをご覧ください。
http://proxy.ymdb.yahoofs.jp/users/9b53dd53/bc/hatena/WT1017194735.csv?bcJ3swBBY8xT.1Z3

ここには6列のデータがあります。2列1組がセットです。

このうち一番左の組み合わせ(A列(ラベル)とB列(生データ))を用いて、このデータの絶対値によって大きい順に並べ替えられたグラフを描写したいのです(ラベルが目視で確認できればなおいいです)。なお、セルそのものを並べ替えるか否かは不問です。

さらにその並べ替えの結果、絶対値の小さい、下位20%を検出し、そのラベルと生データを別ワークシートに書き出すという作業をしたいのです。


これらはVBAで自動化可能でしょうか?できればVBAのコードをご教示いただけないでしょうか?
プログラミングのお得意な方、よろしくお願いいたします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/10/17 21:48:21
  • 終了:--

回答(2件)

id:takasiym No.1

takasiym回答回数165ベストアンサー獲得回数02004/10/17 23:11:01

ポイント25pt

上記ダミーです。

以下のような手順で処理を行うVBAを作成してみました。

1.A列、B列を選択。

2.G列、H列にペースト、

3.I列にH列参照値の絶対値を出力。

4.G列からI列までをI列値に基づき昇順ソート。

自動化はここまでで、

後はG列とI列を選択すればウィザードに従って、

手動でグラフを作成する事ができます。

「絶対値の小さい、下位20%を検出し」というのが、

絶対値の最大値に対して20%を抽出するのか、

あるいは下位392件を抽出するのか分からなかったため、

下位20%を別ワークシートに書き出すVBAは作っておりません。

以下は、VBAのソースコードです。

VBAエディタを開き、

標準モジュールにペーストしてご利用下さい。

========================================================

Sub sorting()

Range(”A1:B1960”).Select

Range(”B1”).Activate

Selection.Copy

ActiveWindow.LargeScroll Down:=-23

ActiveWindow.ScrollRow = 1

Range(”G1”).Select

ActiveSheet.Paste

Range(”I1”).Select

ActiveCell.FormulaR1C1 = ”=ABS(RC[-1])”

Selection.Copy

Range(”I2”).Select

Range(”I2:I1960”).Select

ActiveSheet.Paste

Range(”G1:I1960”).Select

Application.CutCopyMode = False

Selection.Sort Key1:=Range(”I1”), Order1:=xlAscending, Header:=xlGuess, _

OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _

:=xlPinYin

End Sub

========================================================

宜しくお願いします。

id:expansion05

ありがとうございました。下位20%は、パーセンタイルで下位20%ということです。絶対値で並べ替えたデータの下から全体の20%を検出し、それを一覧したかったのです。

2004/10/20 07:26:58
id:atene1968 No.2

atene1968回答回数44ベストアンサー獲得回数02004/10/18 15:10:27

ポイント25pt

このURLはダミーです。

ご質問の内容が良く理解できません。

1.2次元のグラフを描画するとして、

縦軸、横軸はそれぞれ何になりますか?

2.ExcelのCVSファイルを拝見しましたが、「A,B列」のみのデータを下に処理を行えばよいのでしょうか?

id:expansion05

1.A列とB列の処理だけです。A列がラベルであるので、x軸がラベル、y軸がデータがデフォルトかなと思ってます。まあ正直どちらでもいいですけど^^; 多分エクセルの自動描写だとそうなると思います。それをイメージしてました。

2.そういうことです。

2004/10/20 07:29:31

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません