エクセル2010にて、
A列に対して、特定の固定値を結合したデータを別の列に作りたいと思っています。
例)
A列
白
黒
赤
青
B列(他の列でも可能)に
白Sサイズ
白Mサイズ
黒Sサイズ
黒Mサイズ
赤Sサイズ
赤Mサイズ
青Sサイズ
青Mサイズ
つまり、A列の値ひとつずつに
Sサイズ、Mサイズ、と加えたデータを作りたいのです。
これまでは仕方なく、A列を2倍にコピーして
B列には、全ての行に左右を揃えてSサイズ、Mサイズを表示させて
C列に & にて結合表示していました。
しかし、この例では、4点ですが、実際にはもっと組み合わせが多いため、
この方法では対応がし切れません。
こんな回りくどい方法をしなくてもできる方法があると思うのですが
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
こんにちは!
VBAでの一例です。
1行目は項目行でデータは2行目以降に入っているとします。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub test() 'この行から
Dim i, j As Long
Dim myArray As Variant
i = Cells(Rows.Count, 2).End(xlUp).Row
Range(Cells(2, 2), Cells(i, 2)).ClearContents
myArray = Array("Sサイズ", "Mサイズ")
For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 0 To UBound(myArray)
Cells(Rows.Count, 2).End(xlUp).Offset(1) = Cells(i, 1) & myArray(j)
Next j
Next i
End Sub 'この行まで
※ サイズが増える場合は、コード内の
>myArray = Array("Sサイズ", "Mサイズ")
の行を
>myArray = Array("Sサイズ", "Mサイズ", "Lサイズ")
のように変更します。
※ 別の列にサイズを表示させてそれを利用する方法もあります。
その場合は当然コードも変わってきます。
ご希望の方法でなかったらごめんなさいね。m(__)m
No.1
- 回答日時:
A2セルから下方にデータが有るとしたら、B2セルには次の式を入力して下方にオートフィルドラッグコピーします。
=IF(ROW(A1)>COUNTA(A$2:A$100)*2,"",INDEX(A:A,ROUNDUP((ROW(A1)+2)/2,0))&IF(MOD(ROW(A1),2)=1,"Sサイズ","Mサイズ"))
この回答への補足
ありがとうございます。
これで質問の内容はクリアできたのですが、
私の説明が足りませんでした。
これに項目を増やす場合は、どこを変更したらよいでしょうか?
その時々によって、加えたい項目が2つだったり4つだったりします。
例えば、Lサイズと言う項目を増やしたい場合ですが、
,"Lサイズ"
と入れる他はどこに手を加えたらいいのでしょうか。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ホームページ作成・プログラミング グリッドレイアウトHTMLとCSS 1 2023/02/22 02:36
- その他(Microsoft Office) Excel 2列分のDATAの並べ替え 1 2023/01/01 17:12
- PHP アンドロイドスマホでのphp echoの文字サイズ 1 2023/05/13 15:15
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
- その他(動画サービス) VLCメディアプレーヤーについて 1 2022/11/29 14:19
- 中学校 比の文章題 2 2022/08/28 02:49
- Windows 10 Windowsのアイコンの整列が変になりました 2 2022/06/24 00:02
- モニター・ディスプレイ モニターサイズ(パソコン)の表示を縮小したい 6 2022/06/23 08:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
VLOOKUP関数について
-
英数字のみ全角から半角に変換
-
Microsoft Formsで「応答」から...
-
1つのPCに「Excel 2010」「Exc...
-
マイクロソフト オフィスについて
-
【スプレッドシート】指定の日...
-
Office 2021 Professional Plus...
-
【Microsoft Forms】回答を削除...
-
会社PCのメールが更新されない
-
vb.net オブジェクト指向につい...
-
outlookのメールが固まってしま...
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
【スプレッドシート】白色のセ...
-
エクセルマクロ(超初心者)
-
Excel VBA 日程表からスケジュ...
-
エクセルでXLOOKUP関数...
-
マイクロソフト 一時使用コード...
-
teams設定教えて下さい。 ①ビデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【スプレドシート】IMPORTRANGE...
-
マイクロソフト 一時使用コード...
-
英数字のみ全角から半角に変換
-
Office2021を別のPCにインスト...
-
Microsoft Formsの「個人情報や...
-
officeビジネス型のワードやエ...
-
会社PCのメールが更新されない
-
【スプレッドシート】指定の日...
-
Microsoft Officeを2台目のPCに...
-
何このステータスバー
-
2つのシートの一致する行のセ...
-
会社のTeamsのことで相談です。...
-
エクセルにリンクされるのをし...
-
Windows 11で、IME言語バー(IM...
-
office2010とoffice365の共存で...
-
Microsoftのパソコンです。 エ...
-
エクセルでXLOOKUP関数...
-
Excel関数について質問ですm(__)m
-
VBA
-
自分の専門分野の仕事。初見で...
おすすめ情報