Excelのデータ上で1行にまとめてあるデータを24列ごとで2行目、3行目と関数などを使って段落分けする方法はありますか?
下のようなデータを
A B C D Y Z
1
2 日 10/1 10/1 10/1 ・・・・・10/1 10/2 10/2 ・・・・・
3 時間 0時 1時 2時 ・・・・・23時 0時 1時
4
5 A社 5 8 10 ・・・・・ 7 9 3
6 B社 6 12 2 ・・・・・ 5 8 6
7 C社 4 1 3 ・・・・・ 6 7 9
↓
このように変換したいです
A B C D E ・・・・・
1
2 日 0時 1時 2時 ・・・・・ 23時
3
4 A社 10/1 5 8 10 ・・・・・ 7
5 A社 10/2 9 3
6 A社 10/3
・
・
・
B社 10/1
分かりづらいかもしれないですが、可能であれば教えていただけると助かります。
Excelはoffice2016を使用しています。
宜しくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
こんばんは!
手っ取り早くVBAでの一例です。
元データはSheet1にあり、Sheet2に表示するとします。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() '//この行から//
Dim i As Long, j As Long, cnt As Long
Dim wS As Worksheet
Set wS = Worksheets("Sheet2")
wS.Cells.ClearContents
With Worksheets("Sheet1")
wS.Range("A2") = "社名"
wS.Range("B2") = "日"
wS.Range("C2").Resize(, 24).Value = .Range("B3").Resize(, 24).Value
cnt = 3
For i = 5 To .Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To .Cells(2, Columns.Count).End(xlToLeft).Column Step 24
cnt = cnt + 1
wS.Cells(cnt, "A") = .Cells(i, "A")
wS.Cells(cnt, "B") = .Cells(2, j)
wS.Cells(cnt, "C").Resize(, 24).Value = .Cells(i, j).Resize(, 24).Value
Next j
Next i
wS.Range("B:B").NumberFormatLocal = .Range("B2").NumberFormatLocal
End With
wS.Activate
MsgBox "完了"
End Sub '//この行まで//
こんな感じではどうでしょうか?m(_ _)m
この通りにやったら簡単に出来ました!
本当にありがとうございます(´;ω;`)
おかげでこれからの作業がかなり楽になりました!!
No.3
- 回答日時:
添付図参照
Sheet1 において、
1.G/標準"時"
 ̄ ̄に書式設定した範囲4行目の B列から LY列まで連続数値
 ̄ ̄0、1、2、…、23、0、1、2、…、23 を入力
2.m/d
 ̄ ̄に書式設定し、かつ、式
 ̄ ̄ =DATE($A1,$B1,1)+COUNTIF($B3:B3,B3)-1
 ̄ ̄を入力したセル B2 を右方に(LY列まで)ズズーッとオートフィル
Sheet2 において、
3.G/標準"時"
 ̄ ̄に書式設定し、かつ、式 =Sheet1!B3 を入力したセル C2 を右方に(Z列まで)
 ̄ ̄ズズーッとオートフィル
4.下記の左端に示すセルにそれぞれ右側に示す式を入力して、範囲 A4:B4 を
 ̄ ̄下方にズズーッとオートフィル
 ̄ ̄ A4: =IF(ROW(A1)>COUNTA(Sheet1!A$5:A$100)*14,"",OFFSET(Sheet1!A$5,(ROW(A1)-1)/14,))
 ̄ ̄ B4: =IF(A4="","",DATE(Sheet1!A$1,Sheet1!B$1,MOD(ROW(A1)-1,14)+1))
5.次式を入力したセル C4 を右方&下方にズズーッとオートフィル
 ̄ ̄ =OFFSET(Sheet1!$B$5,(ROW(A1)-1)/14,MOD((COLUMN(A1)-1)+(ROW(A1)-1)*24,14*24))
No.2
- 回答日時:
確認させてください。
上段の「下のようなデータ」の右端は何か月後の末日までとか決まってますか?それとも「17歳の止められない純愛」のように延々と続くのですか?その場合、月末処理はどのようにしていますか?10月は31日まで、11月は30日まで、2月は28または29日までとバラバラなんですけどォ~。2月28、29日の右隣は3月1日とか?
そこらあたりはキッチリとネ!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Excel(エクセル) VBAで重複データを合算したい(時間) 1 2022/12/08 23:06
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) Excelで1つしかない値だけを抽出。Unique関数を使わずに 6 2023/08/18 09:14
- C言語・C++・C# C言語初心者です、、、お助けください 2 2023/03/14 20:08
- Excel(エクセル) エクセルについて教えてください。 2 2023/06/14 11:11
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Excel(エクセル) 指定した値以上の中で最小値を出したい 7 2022/10/24 21:12
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでの作業計算方法について
-
はがきについて。
-
エクセル 文字を増やしたい。
-
セルの内容表示が邪魔になる
-
Microsoft365に変えたのですが...
-
エクセルの計算
-
Microsoft1Officeの互換ソフト...
-
【マクロ】その時、その時で変...
-
【マクロ】読取専用のファイル...
-
エクセル初心者です 関数の入れ...
-
Excel ピボットテーブルで日付...
-
【関数】適切な文字数の数字を...
-
LOOKUP関数を使えばいいのでし...
-
Aというブックの1というシート...
-
エクセル関数を教えてください
-
Excelのチェックボックスの使い...
-
エクセル 白黒印刷で白線を印刷...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの条件付き書式につい...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報
すみません、書き忘れてました!
全ての会社、10月1日から14日までの2週間分のデータがあるという状態です!