dポイントプレゼントキャンペーン実施中!

楽天RMS等でよくあるデータの形ですが下記の様なデータを横並びにまとめたいと考えています。

150-0001 東京都渋谷区神宮前番地 山田ビル1F 山田太郎 00-0000-0000 すごい石鹸A 1個
150-0001 東京都渋谷区神宮前番地 山田ビル1F 山田太郎 00-0000-0000 ミラクルシャンプー 1個
150-0001 東京都渋谷区神宮前番地 山田ビル1F 山田太郎 00-0000-0000 ミラクルリンス   2個

何か良い手はありませんでしょうか。

こんなイメージです。
 ↓
150-0001 東京都渋谷区神宮前番地 山田ビル1F 山田太郎 00-0000-0000 すごい石鹸A 1個
 ミラクルシャンプー 1個 ミラクルリンス   2個

よろしくお願い致します。

A 回答 (4件)

コードを提示してもいいのですが、以下にほぼそのままの


質問と回答があります。少し変更すれば質問の場合に
使用できます。

http://oshiete1.watch.impress.co.jp/qa3873154.html

「00-0000-0000」が識別番号ならば、これをキーとして、
サンプルにあてはめればそのまま使えます。サンプルでは
キーがA列の名前になっていますが、質問の場合は
「00-0000-0000」がある列を指定すればよろしいかと。
必要があればコードを質問に合わせてみますが。
    • good
    • 0
この回答へのお礼

ありがとうございました。

他の解答をひっぱってくるのをベストに選んでいいのかちょっと迷ったのですが、
質問している方も返答している方も非常にわかりやすい内容でしたので、
大変助かりました。

お礼日時:2010/12/28 09:10

郵便番号から電話番号までは、前行と同じかどうか判定します。


J列にでも、セルの数式ですべての文字をつなげます。
J1=A1&B1&C1&D1&E1
J2=A2&B2&C2&D2&E2
J1とJ2を比べると同じか違うかわかります。
IF(J1<>J2)・・・
IF(J2<>J3)・・・

同じ場合、同じ中で連番をつけます。違うなら1にします。
1
2
3
1
2
1
2
3
4
・・・
みたいな感じで並んでいきます。

郵便番号・・・電話番号、1の値、2の値、3の値、・・・
となればいいので、
商品と個数列を範囲コピーして、行列を逆にして貼り付け、
これをそのかたまり毎に行います。
郵便番号・・・電話番号、1、1の商品の値、・・・
郵便番号・・・電話番号、2、2の商品の値、・・・
郵便番号・・・電話番号、3、3の商品の値・・・

郵便番号・・・電話番号、1の商品の値、2の商品の値、3の商品の値、・・・

それか

1のときK列、2のときL列、3のときM列になるよう考えます。
郵便番号・・・電話番号、1、1の商品の値、-----、-----、・・・
郵便番号・・・電話番号、2、-----、2の商品の値、-----、・・・
郵便番号・・・電話番号、3、-----、-----、3の商品の値、・・・

エクセルだけの数式、コピー&貼り付けの範囲ではこんな感じです。

VBAがわかる人がいたら(今後のこれの追加修正もあるだろうし)見てもらう。
項目が増えたりしても対処できないと困りますので、
ある程度何やっているかはみておく。
それでもわからない場合は、手間でも他のできる手段を見つける。

ACCESSがあれば同じようなことできます。
    • good
    • 0
この回答へのお礼

エクセル、アクセスは私でもわかるのでさっそく試してみます。

>VBAがわかる人がいたら(今後のこれの追加修正もあるだろうし)見てもらう。
システム担当がある程度はわかるみたいなので、一緒に検討してみます。

ありがとうございました。

お礼日時:2010/12/26 13:51

将来SEなら、


これは、コントロールブレイクがわからないとできません。
必須です。学習してください。

Public Sub AA()
Dim i As Long
Dim j As Long
Dim k As Long

Dim WBA As String
Dim WBB As String
Dim WBC As String
Dim WBD As String
Dim WBE As String
Dim WBF As String
Dim WBG As String
Dim BKSHOHIN As String

Dim WOLD As String
Dim WNEW As String

Sheets(1).Select
Range("A1").Select

i = 1

i = i + 1
WBA = Chr(34) & Cells(i, 1) & Chr(34)
WBB = Chr(34) & Cells(i, 2) & Chr(34)
WBC = Chr(34) & Cells(i, 3) & Chr(34)
WBD = Chr(34) & Cells(i, 4) & Chr(34)
WBE = Chr(34) & Cells(i, 5) & Chr(34)
WBF = Chr(34) & Cells(i, 6) & Chr(34)
WBG = Chr(34) & Cells(i, 7) & Chr(34)
WNEW = WBA & "," & WBB & "," & WBC & "," & WBD & "," & WBE
WOLD = WNEW
BKSHOHIN = ""
BKSHOHIN = BKSHOHIN & "," & WBF & "," & WBG

MsgBox ("処理30行までで、結果は C:\TEMP\KEKKA.CSV に出力します。")
Open "C:\TEMP\KEKKA.CSV" For Output As #1

For i = 3 To 30

WBA = Chr(34) & Cells(i, 1) & Chr(34)
WBB = Chr(34) & Cells(i, 2) & Chr(34)
WBC = Chr(34) & Cells(i, 3) & Chr(34)
WBD = Chr(34) & Cells(i, 4) & Chr(34)
WBE = Chr(34) & Cells(i, 5) & Chr(34)
WBF = Chr(34) & Cells(i, 6) & Chr(34)
WBG = Chr(34) & Cells(i, 7) & Chr(34)
WNEW = WBA & "," & WBB & "," & WBC & "," & WBD & "," & WBE
If WNEW <> WOLD Then
Print #1, WOLD & BKSHOHIN
BKSHOHIN = ""
WOLD = ""
Else
End If

BKSHOHIN = BKSHOHIN & "," & WBF & "," & WBG

WOLD = WNEW
Next i
Print #1, WOLD & BKSHOHIN
Close #1

MsgBox ("終了")

End Sub

ざっと作成しました。結果はCSVに出ます。
1行ずつ下へ処理して、A列からG列まで退避しながら
A列からE列までが同じか判定、違えば前行分の右にF列値G列値を付与、
これの繰り返しです。
体裁、効率化、結果は別シートへ、等ありますが、
基本的な箇所はそのまま使えるので後はアレンジしてください。
    • good
    • 0
この回答へのお礼

私はネットスーパーを運営しているだけのおっさんで、
PCはエクセル・アクセスレベルしかわからないのいで、
正直チンプンカンプンな感じなのですが、システム担当者と
こちらを検討させていただきます。

ありがとうございました。

お礼日時:2010/12/25 12:44

力技です!



    列A       列B        列C    列D     列E     列F    列G
   
行1 150-0001 東京都渋谷区神前番地 山田ビル1F 山田太郎 00-0000-0000 すごい石鹸A 1個
行2 150-0001 東京都渋谷区神前番地 山田ビル1F 山田太郎 00-0000-0000 ミラクルシャンプー 1個
行3 150-0001 東京都渋谷区神前番地 山田ビル1F 山田太郎 00-0000-0000 ミラクルリンス 2個

 まとめるセルに以下の数式を入力する
 ここで""の間は必要な空白を入力です
 
=A1&" "B1&" "C1&" "D1&" "E1&" "F1&" "G1&" "F2&" "G2&" ""F3&" "G3


固定化するにはセルを選択しコピー
セルを選択し、形式を選択し貼り付け
値を選択し OKする
    • good
    • 0
この回答へのお礼

acha51様、回答いただきましてありがとうございました。
私の記載が甘く、大変申しわけないのですが、
お一人の方がいくつ商品を買うのか固定ではないため、
たて列が何行になるかは人それぞれなのです…。

1商品購入=1行の方もいらっしゃれば、
10商品購入=10行の方もいらっしゃるので、

列A~列F が同じかどうか判断しつつの集計ではいなといけないのです…

1回購入商品点数順に並びかえて…とも思ったのですが、そのキーもないので、
そういった並び替えさえ出来ない状況です。

マクロか何かでなんとか出来そうな気もするのですが…
せっかくお答えいただいたのに申しわけございませんでした。

お礼日時:2010/12/24 09:46

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