重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

うまく説明できないので写真を添付いたしました。
各日の時間ごとに横軸で365日データ入力を実施してあるものを、縦軸に365日並び替えたいと考えています。
お知恵お貸しください!!

質問者からの補足コメント

  • 写真添付ができなかったようなので、補足します。
    下記のようなイメージです。
    ずれていたり見づらく大変申し訳ないです。

          a日  b日  c日
    9-10時   5個  1個  3個
    10-11時   6 個  5個  3個

    上記を
    a日 9-10時 5個
      10-11時 6個
    b日  9-10時 1個
      10-11時 5個
    c日 9-10時 3個
      10-11時 3個

    とするようなイメージです

      補足日時:2020/05/11 10:26

A 回答 (3件)

こんにちは!



お示しの配置では10-11時までしかありませんが、
実際はもっと多くの時間帯があるのでは?

とりあえずもっとあっても対応できるようにしてみました。
(時間帯はシリアル値ではなく、文字列だという前提です)
VBAになりますが、一例です。
↓の画像のような配置で元データはSheet1にあり、Sheet2に表示するとします。

標準モジュールにしてください。

Sub Sample1()
 Dim j As Long, lastRow As Long
 Dim wS As Worksheet

  Set wS = Worksheets("Sheet1")
   With Worksheets("Sheet2")
    '//▼Sheet2の2行目以降のデータを一旦消去//
    lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
     If lastRow > 1 Then
      Range(.Cells(2, "A"), .Cells(lastRow, "C")).ClearContents
     End If

    '//▼ココから操作//
    For j = 2 To wS.Cells(1, Columns.Count).End(xlToLeft).Column
     lastRow = wS.Cells(Rows.Count, j).End(xlUp).Row
      If lastRow > 1 Then
       With .Cells(Rows.Count, "B").End(xlUp).Offset(1, -1)
        .Value = wS.Cells(1, j)
        Range(wS.Cells(2, "A"), wS.Cells(lastRow, "A")).Copy .Offset(, 1)
        Range(wS.Cells(2, j), wS.Cells(lastRow, j)).Copy .Offset(, 2)
       End With
      End If
    Next j
     .Activate
   End With
    MsgBox "完了"
End Sub

※ 関数でないので、データ変更があるたびにマクロを実行する必要があります。

※ 実際は細かいエラー処理が必要かもしれませんが、
  まずはこの程度で・・・m(_ _)m
「Excelのデータ入れ替えに関して」の回答画像2
    • good
    • 0
この回答へのお礼

ありがとうございます。おかげさまでうまく行きました。VBA組んでいただき大変助かりました。

お礼日時:2020/05/11 12:59

No1です。



>欲しいデータでは無くなってしまい困っていた~~
こちらこそ読み間違えてしまっていました。
勘違いの回答でした。失礼いたしました。

改めて…と思ったら、すでにNo2様が回答をなさっていますのでNo1は無視してください。
    • good
    • 0

こんにちは



一度だけの作業と思いますので・・・

・表の範囲を全部選択して、コピーし
・「ホーム」-「貼付け」-「形式を選択して貼り付け」から「行列を入れ替える」にチェックして貼り付ける

以上で縦軸と横軸が入れ替えられると思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

せっかく回答いただいたところですが、全選択の縦横ですと、時間軸が横列にきてしまう為、欲しいデータでは無くなってしまい困っていた経緯をまず記載すればよかったですね。申し訳ございません。

補足で記載した、日付 時間 データの3列で、1日のデータが時間ごとに全て縦列に行くイメージを作りたく、悩んでおります。

お礼日時:2020/05/11 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!