[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『範囲ごと並び替えられますか』(pinkfloyd)
1週間分のデータが A1:D10 に入っています。
2週目は E1:H10 3週間目 I1:L10 4週間目M1:P10。
以上で1か月のデータです。
翌月以降、A11、A21、A31・・・から同様にデータ入力されています。
1か月のデータ週ごとに列方向に並んでいるため、年単位など様々なデータ集計で効率が悪くなっています。
すべて縦方向に並べ替える方法はありますでしょうか。
A1:D10 1月1週
A11:D20 1月2週
A21:D30 1月3週
A31:D40 1月4週
A41:D50 2月1週
・
・
・
という感じです。
因みに、計算式は調べればほとんど可能ですが、マクロやVBAなどは知識がありません。
私のレベルではできることにかなり制約が出てしまうとは思いますが、多少時間がかかっても少しでも効率的に並べ替える方法がありましたらよろしくお願いします。
< 使用 Excel:Excel2013、使用 OS:windows10 >
>1週間分のデータが A1:D10 に入っています。 >2週目は E1:H10 3週間目 I1:L10 4週間目M1:P10。 >以上で1か月のデータです。
ざっくりと説明されていますが、 4週x12箇月=48週
実際は52週ありますよね?
もうちょっと厳密な説明を頂けませんか? (半端になった部分は、何処にどう存在しているんですか?)
それとも、「週目」は言葉の綾で、要するに
「ひと月分が、10行4列で横に4つの塊で存在している」
と認識すればいいのですか?
(半平太) 2016/04/24(日) 22:09
「ひと月分が、10行4列で横に4つの塊で存在している」と認識すればいい場合
Sheet1からSheet2へ転記するマクロ
Sub ReArange() Dim Mon As Long, colNum As Long Dim MonOut As Long
MonOut = 1
Application.ScreenUpdating = False
For Mon = 1 To 12 * 10 Step 10 For colNum = 1 To 4 * 4 Step 4 Sheets("Sheet1").Cells(Mon, colNum).Resize(10, 4).Copy _ Sheets("Sheet2").Cells(MonOut, 1) MonOut = MonOut + 10 Next colNum Next
Application.ScreenUpdating = True End Sub
(半平太) 2016/04/24(日) 22:44
現状は
第1週 第2週 第3週 第4週 1月 A1:D10 E1:H10 I1:L10 M1:P10 2月 A11:D20 E11:H20 I11:L20 M11:P20 3月 A21:D30 E21:H30 I21:L30 M21:P30 4月 A31:D40 E31:H40 I31:L40 M31:P40 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 1週間分の種々のデータがA1:D10以下の範囲にA〜Dに項目別にデータが入力されています。
これをすべて縦方向に並べたいと考えています。
1月 第1週 A1:D10
第2週 A11:D20 第3週 A21:D30 第4週 A31:D40 2月 第1週 A41:D50
何とか理解していただけるでしょうか。
数年分のデータがあり集計や分析するのに縦で並べてしまったほうが利用しやすいと考えています。
やはりマクロを使うしかないでしょうか。
もし可能であればもう少し手間がかかっても方法はありませんでしょうか。さすがに切り取り・貼り付けの繰り返し作業はきついですが。
よろしくお願いします。
(pinkfloyd) 2016/04/24(日) 23:29
こんばんわ。
半平太さんのコードをモジュールに貼付るだけで、すぐに実行出来て簡単なんですけどねぇ。
どうしてもマクロが難しいと言うなら、データが全て値で計算式とか無いのであれば、 Sheet2に以下の式を入れて、コピー値貼付けで値に変換して下さい。 参照先のシート名は違ってたら変更して下さい。
一応簡単には確認しましたが、必ず元ブックのバックアップを取ってから実行して下さい。
A1=INDEX(Sheet1!$A$1:$P$10000,INT((ROW()-1)/40)*10+MOD(ROW()-1,10)+1,INT((ROW()-1)/10)*4+COLUMN(A1)-INT((ROW()-1)/40)*16) D列と下に必要数フィルコピー
(sy) 2016/04/25(月) 00:26
半平太さん、マクロ使えなくて申し訳ありませんでした。
今回計算式でやったものをマクロでもできるよう何とか時間を見つけて勉強します。
今回ご指導いただいた内容はしっかり残しておきます。
ありがとうございました。
(pinkfloyd) 2016/04/25(月) 22:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.