アプリ版:「スタンプのみでお礼する」機能のリリースについて

上司に添付の画像上の複数行に分かれているCSVデータを番号ごとに一つにまとめて下記みたいの列式にしてくださいと言われました。同じようなデータが何百行もあります。

どの関数を使えばいいか分かりませんので、教えてください!お願い致します!

番号    件名   数量   代金  TAX Optional DISCOUNT
A1122 A会社   1   478  58     100
A1133 B会社  3   890  160     0
A1144 C会社  1   440  86      0     -10
A1155 D会社 1   540   57      50

「エクセルの複数の行をまとめて列にする」の質問画像

A 回答 (4件)

下の形から上の形にするんですよね?


ピボットテーブルでいいんじゃないですか?
    • good
    • 0

こんにちは!



VBAになりますが、一例です。
元データはSheet1にあり、Sheet2に表示するとします。
尚、両シートとも1行目の項目名は入力済みだという前提です。
標準モジュールにしてください。

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

Set wS = Worksheets("Sheet1")
With Worksheets("Sheet2")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "E")).ClearContents
End If
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
For j = 4 To 7 '//←D~G列まで//
If wS.Cells(i, j) <> "" Then
With .Cells(Rows.Count, "A").End(xlUp).Offset(1)
.Resize(, 2).Value = wS.Cells(i, "A").Resize(, 2).Value
.Offset(, 2) = wS.Cells(1, j)
.Offset(, 3) = wS.Cells(i, "C")
.Offset(, 4) = wS.Cells(i, j)
End With
End If
Next j
Next i
.Activate
End With
MsgBox "完了"
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 1

関数を使用するまでもなく、ソートで可能なのでは、関数は元のデーターはそのまま保存必要です、ソートは元データーそのものを並べ替えます。


すべての範囲を指定し、上部の「編集」「セルの書式」・・・・・等の欄をクリックして「ソート」を選択、ソートの機銃とする列(例 最初の列ならA)を選択クリックでA1122、の順番で並べ替えができます。
ただし1・・・9、10、の順番にではないかもしれませんが。
例 1・10・11・19・2・211・・・・・・9、こんな順になるかも。
A・○○・◇◇、必ずこの形式になり○と◇の数値が異なるだけなら可能では、と思います。
    • good
    • 0

csv ファイルを、スペース区切り文字として読み込んだら終わりじゃないの?

    • good
    • 0

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