エクセルで次のようなデータがあります
"a","b","c","d"
"1","","3","4"
"1","2","","4"
"","2","3","4"
このデータに対して
2行目から4行目のe列に
その行に入っている数字をカンマ区切りで表示させたい
下記のイメージです
"a","b","c","d","e"
"1","","3","4","1,3,4"
"1","2","","4","1,2,4"
"","2","3","","2,3"
ダブルコーテーションマーク"はついていませんが
質問時、表が崩れるのでこれをつけさせてもらいました
上記のイメージですがデータ的には
900行、50列ほどあります
関数かVBAでやれる方法を教えていただきたいのですが・・・
関数・VBAについては昔やったことがある程度です
時間をかけて何かをみながら・・・やれる程度のものです
ヒント等いただければ幸いです
No.3ベストアンサー
- 回答日時:
>上記のイメージですがデータ的には900行、50列ほどあります
現実には50列ものデータをちんたら関数で書いていくのはタマリマセンので,次のようにしてみます。
方法1:関数
シート1にそういったデータがあるとして
シート2のA1に
=SUBSTITUTE(TRIM(Sheet1!A1&" "&B1)," ",",")
と記入,シート1のデータ範囲をおおまかカバーするセル範囲にえいやっとコピー貼り付けてやると,シート2のA列にコタエが並びます。
必要に応じてA列を丸ごとコピーし,コタエを置きたい場所(シート3のA列でもいいし,シート1のはじっこ列でも)に形式を選んで貼り付けの値のみ貼り付けます。
方法2:マクロ
シンプルに900行×50列の固定で。
sub macro1()
dim r as long
dim c as long
dim buf as string
for r = 1 to 900
buf = ""
for c = 1 to 50
if cells(r, c) <> "" then
buf = buf & "," & cells(r, c)
end if
next c
cells(r, 51) = mid(buf, 2, len(buf))
next r
end sub
No.2
- 回答日時:
一例です。
関数で考えてみました。
E2に=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" ")," ",",")を入力、下方向にコピー
因みにE列は数式のつき、データ(値)にする場合、E列を選択コピー→形式を選択して貼り付け→値を選択→OKとして下さい。(E列を残したい場合、別列を選択して形式を選択貼り付けして下さい)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】データを入力後に,同一シート内に履歴として転記するVBAコードを教えていただきたいです。 3 2022/11/16 01:37
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
エクセルで電話番号にハイフン...
-
EXCELの列の幅
-
Excel 表の必要箇所だけを抜き...
-
エクセルでページ毎の計をつけ...
-
超初心者がマクロ集計をするこ...
-
エクセルで年齢別体重の平均
-
EXCELで不良率を出そうと思って...
-
エクセルの余白を0にしても列...
-
エクセルの複数ワークシートの...
-
Excelのセル内で規則に従った部...
-
エクセルの並べ変え
-
Excelのhperlink関数で作ったモ...
-
VBAで他のシートの特定の列を検...
-
エクセルで顧客リスト
-
【Excel VBA】データの最終行に...
-
Excel複数のファイルデータを一...
-
エクセルで表のある列を最初か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
EXCELの列の幅
-
エクセルで前年同日・前月同日...
-
エクセルでページ毎の計をつけ...
-
EXCEL2007で2つのシートのどっ...
-
excelの列がいっぱいになり列を...
-
エクセルで電話番号にハイフン...
-
エクセルVBAで複数列データを1...
-
EXCELで不良率を出そうと思って...
-
エクセルの複数ワークシートの...
-
エクセルの余白を0にしても列...
-
エクセルで縦線のいっぱい入っ...
-
Excelで奇数行を削除
-
ExcelのIF関数について
-
Excelのhperlink関数で作ったモ...
-
エクセル:最新データ12件で...
-
ピボットテーブル作成後、重複...
おすすめ情報