プロが教えるわが家の防犯対策術!

こんにちは。

Excel初心者です。
環境:Windows10
ソフト:office2019

添付画像例の様に、複数列(18列)2行のデーターを1行にしたいのですが、
効率の良い方法はありませんか?
可能であればセルの色もそのまま移行したいのですが。
宜しくお願い致します。

「複数列のデーターを1行にしたい」の質問画像

A 回答 (5件)

添付画像の上の表を下の表のようにするということで良いのでしょうか?


であれば、次の手順でいけそうです。慣れれば30秒かかりません。

B列を選択する。Ctrlを押しながらC列を選択。同様にD列、E列を選択して、右クリック、挿入。
A2セルを選択する。Ctrlを押しながらA4を選択。同様にA6セル、A8セルを選択して、右クリック、右方向にシフト。
「検索と選択」から「条件を選択してジャンプ」「空白セル」「OK」。右クリック、削除、上方向へシフト。
「複数列のデーターを1行にしたい」の回答画像5
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
数名の方にご回答いただきましたが、今の私のレベルでは
ママチャリ様の方法が一番効率が良いかと思います。
改めてご回答ありがとうございました。

お礼日時:2020/06/02 11:47

すでに3人の先達の回答がありますが、


>Excel初心者です。
というExcel初心者ピタゴラアッチさんに理解できますか?
理解できるなら、それはそれでいいのですが、
理解できないのなら、手作業でやった方が手っ取り早いとおもいます。
理解できるなら、初心者ではすでにないのでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
banzaiA様がご指摘の様にExcel初心者ですので、
関数やマクロは応用ができません。
ママチャリ様(No.5の回答者様)のご回答をもとに
手作業で進めようと思います。

お礼日時:2020/06/02 11:39

こんばんは!



>可能であればセルの色もそのまま移行したいのですが。
というコトなので、コピー&ペーストになってしまいますね。

VBAになりますが、一例です。
元データはSheet1のA1セル以降にあり、Sheet2のA1セル以降に表示するとします。
標準モジュールにしてください。

Sub Sample1()
 Dim j As Long
 Dim wS As Worksheet
  Set wS = Worksheets("Sheet2")
   wS.Cells.Clear
   With Worksheets("Sheet1")
    For j = 1 To .Cells(1, Columns.Count).End(xlToLeft).Column
     .Cells(1, j).Resize(2).Copy
     wS.Cells(1, j * 2 - 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
    Next j
   End With
  Application.CutCopyMode = False
   wS.Activate
End Sub

まずはこの程度で・・・m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
マクロは勉強したことがありませんので、プログラムを実行して
sheet2に表が出てきた時には感動ものでした。
ただ、実際にはママチャリ様(No.5の回答者様)のご指摘の様な表でしたので
全ての行を表示することが出来なく、残念ですがVBAの利用を諦めました。

お礼日時:2020/06/02 11:31

ア 「1の横に挿入したいセル(つまり1の真下のセル)」を左クリックで選択する。



イ 選択終了後、その選択したセルの淵の線にマウスを合わせ [4方矢印 ] を表示させる(クリックするのではない)。「白抜き十字」や「十の字」が表示される場合は場所を少しずらしてみる。

ウ [4方矢印 ] が表示されたら、その状態を維持したまま右クリックする。

エ 右クリックしたまま1のセルの横に(つまり2のセルにかぶせるように)ドラッグして離すとメニューが表示される。

オ その中から「右にシフトして移動」を選択。

以下同様。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
セルを選択して移動する方法ですね。
データー量が少ない時に試してみます。

お礼日時:2020/06/02 10:17

A1; =OFFSET($A1,ROW(A1)-1,(COLUMN(A1)-1)/2)


B1: =OFFSET($A1,ROW(A2)-1,(COLUMN(A2)-1)/2)
範圍 A1:B1 を右方にズズーッと(J列迄)オートフィル
「複数列のデーターを1行にしたい」の回答画像1
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
当初、表示するセルの場所が理解できず試行錯誤しましたが、
何とか表示することができました。

お礼日時:2020/06/02 10:11

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