- ベストアンサー
エクセルのデータを指定の形式で表示する方法
- エクセルのデータを指定の形式で表示するには、関数やVBAを利用する方法があります。
- 関数の場合、CONCATENATE関数やTEXTJOIN関数を使用して、指定の範囲のデータをカンマ区切りで結合することができます。
- VBAの場合、マクロを作成して指定の範囲のデータを取得し、ループ処理を行ってカンマ区切りで結合することができます。
- みんなの回答 (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
その他の回答 (2)
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 関数で考えてみました。 E2に=SUBSTITUTE(TRIM(A1&" "&B1&" "&C1&" "&D1&" ")," ",",")を入力、下方向にコピー 因みにE列は数式のつき、データ(値)にする場合、E列を選択コピー→形式を選択して貼り付け→値を選択→OKとして下さい。(E列を残したい場合、別列を選択して形式を選択貼り付けして下さい)
お礼
返答が遅くなり申し訳ありませんでした こちらの考えも参考になります 参考にさせていただきます ありがとうございました。
- kagakusuki
- ベストアンサー率51% (2610/5101)
E1セルに次の数式を入力してから、E1セルをコピーして、E2以下に貼付けると良いと思います。 =IF($A1="","",$A1&",")&IF($B1="","",$B1&",")&IF($C1="","",$C1&",")&IF($D1="","",$D1&",")
お礼
返事が遅くなり申し訳ありません 確かにこれも参考にさせていただきます ありがとうございました。
お礼
返答が遅くなり申し訳ありませんでした ありがとうございました。 助かります この考え頂戴させていただきます