No.1
- 回答日時:
表1
品番 品名1 品名2 品名3 品名4 品名5
50 15 32 45
50 15 52 32
20 33 87 67
表2
品番 品名1 品名2 品名3 品名4 品名5
50 15 32 45 52
20 33 87 67
これがさっぱり意味が分からん。
誰か訳してくれ。
この回答への補足
うまく表現できなくてご迷惑をおかけしました。
やりたいことを以下に順をおって書いてみます
1.各店舗から品番(1列目の数字)ごとに売れた品名 (2列目以降の数字)が記録されたデータがあります が、各店舗で品名を適当な列にいれているため、同じ品 名のコードが入っている列が店舗ごとにばらばらです
2.そこで、例えば表1の品番50は2行になっています が、これを1行にまとめたい
3.このとき、表1の1行目と2行目で共通している品名 のコード15,32は15、15、32、32のように 重複して集計するのではなく表2のように1つにまとめ たい
・・・・ということなのですが、
ご迷惑おかけしますが、アドバイスねがえれば幸いです
No.2
- 回答日時:
確認したいのですが、品名1~5に入力されているデータは、どの列に入力されているかは関係なく、数字だけが意味を持つデータなのでしょうか?
また、表2では品番50において品名52よりも品名45の方が先に来ていますが、この並び順はどんな順番でも良いのでしょうか?
この回答への補足
意味がはっきりしなくてすみません。品番は数字だけに意味があり、入力されている列は無関係です。また、品番の数値の並びも大小に関係なく、とにかく重複した数字があれば1つにまとめたいだけです。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
意味が判らない点があるが以下でやって見ました。
数字は品番コードと解釈し、品名1 品名2 品名3 品名4 品名5とその下のコードとは関係ないものとした。
分解(test01前半)-ソート(test01の最後)-再組み立て(test02)の過程でやっている。
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
d = sh1.Range("A65536").End(xlUp).Row
' MsgBox d
k = 1
For i = 2 To d
For j = 2 To 5
If sh1.Cells(i, j) = "" Then
Else
sh2.Cells(k, "A") = sh1.Cells(i, "A")
sh2.Cells(k, "B") = sh1.Cells(i, j)
k = k + 1
End If
Next j
Next i
MsgBox k
sh2.Activate
sh2.Range(Cells(1, "A"), Cells(k - 1, "B")).Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, _
key2:=Range("B1"), Order2:=xlAscending
End Sub
Sub test02()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet2")
Set sh2 = Worksheets("sheet3")
d = sh1.Range("A65536").End(xlUp).Row
' MsgBox d
k = 1
j = 2
m1 = sh1.Cells(1, "A")
sh2.Cells(k, "A") = sh1.Cells(1, "A")
sh2.Cells(k, j) = sh1.Cells(1, "B")
m2 = sh1.Cells(1, "B")
j = j + 1
For i = 2 To d
If sh1.Cells(i, "A") = m1 Then
If sh1.Cells(i, "B") = m2 Then
Else
sh2.Cells(k, j) = sh1.Cells(i, "B")
m2 = sh1.Cells(i, "B")
j = j + 1
End If
Else
k = k + 1
j = 2
sh2.Cells(k, "A") = sh1.Cells(i, "A")
sh2.Cells(k, j) = sh1.Cells(i, "B")
j = j + 1
m1 = sh1.Cells(i, "A")
m2 = sh1.Cells(i, "B")
End If
Next i
End Sub
この回答への補足
うまく表現できなくてご迷惑をおかけしました。早速詳しいプログラムをいただき、本当に感謝しています。
何度もお手数をおかけして、誠に恐縮ですが、お時間の許す限りで結構ですので、今一度ご指導願えたら幸いです。
やりたいことを以下に順をおって書いてみます
1.各店舗から品番(1列目の数字)ごとに売れた品名 (2列目以降の数字)が記録されたデータがあります が、各店舗で品名を適当な列にいれているため、同じ品 名のコードが入っている列が店舗ごとにばらばらです
2.そこで、例えば表1の品番50は2行になっています が、これを1行にまとめたい
3.このとき、表1の1行目と2行目で共通している品名 のコード15,32は15、15、32、32のように 重複して集計するのではなく表2のように1つにまとめ たい
・・・・ということなのですが、
実際のデータは数百件あり、とても手作業では困難なので
マクロ処理できればとてもたすかります。
ご迷惑おかけしますが、アドバイスねがえれば幸いです
No.4
- 回答日時:
>今一度ご指導願えたら幸いです。
というのは、imogasiさんのマクロを実行してみたのですか?それともマクロの意味が分からなかったのですか?あるいは実行の仕方が分からなかったのですか?
もしVBAについてあまり知識が無いのならば、実際のシートに合わせてマクロを微調整したりするのも難しいかと思います。折角なので一度勉強してみてはいかがですか?
この回答への補足
補足が舌足らずでご迷惑おかけします。
imogasiさんのマクロは実行してみましたが、意図する結果と違っていました。しかし、参考にするところは多々あり、感謝しています。
VBAの基本的なところは理解できますし、自分でも色々試してみたのですが、私の能力を超えるみたいなので質問させていただきました。でもこれ以上いろんな方
の手をわずらわせるのも気がひけますので、おっしゃるとおり、自分で挑戦したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) 【VBA】元のシート内の文字列を別シートと比較し、一致したら元のシートの別のセルへ転記する方法。 3 2023/03/23 17:30
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) Excel 関数 vlookupなどの使い方について質問です。 シート1に品番、商品名、単価、発注条 6 2022/06/15 19:16
- その他(データベース) c言語の問題です。これを踏まえてコーディングしたいのでおしえていただきたいです。 3 2023/08/03 09:27
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シャープのアクオス sh-m25 を...
-
エクセルVBA 別シートの複数の...
-
excelの差込印刷で可視セルだけ...
-
VBAで複数シート選択
-
【WORD差し込み印刷】複数レコ...
-
VBA別シートの最終行の下行へ貼...
-
Excel で行を指定回数だけコピ...
-
スマホ機種変更で旧機種のGoogl...
-
FOMAカード(UIM)異常
-
PC修理に出すのですが、個人情...
-
携帯電話の家族内交換
-
代替機にキズ
-
SH902isに音楽を取り込む方法を...
-
機種変更時にデータは見られる?
-
外付けHDDをフローリングに落と...
-
携帯電話番号を英語で?
-
携帯修理出して戻ってきたら、L...
-
ドコモの電話帳バックアップに...
-
ワンセグ録画したデータを一度...
-
ドメイン名が、ak.sky.tkk.ne.j...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
エクセルVBA 別シートの複数の...
-
シャープのアクオス sh-m25 を...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
VBA:同じ文字列データの比...
-
エクセルVBAで 2種のリストを...
-
エクセル:VBAで月変わりで、自...
-
歯抜けの時間を埋めて行の挿入
-
エクセルVBAで SendKeys "{TAB}"
-
VBAで条件が一致する行のデータ...
-
VBA別シートの最終行の下行へ貼...
-
EXCELマクロで全シート対...
-
Excel VBAでシート内全体に非表...
-
VBA 貼付先範囲(行)がいっぱ...
-
VBAで複数シート選択
-
【VBA】UserForm1の中で使うワ...
-
【WORD差し込み印刷】複数レコ...
-
VBAで複雑な構成の転記
-
エクセルVBAでの日付順のデ...
おすすめ情報