• ベストアンサー

エクセルのセルをカンマに、改行をセミコロンにする

1 2 3 4 5 6 7 8 9 とエクセルに入力されているデータを 1,2,3;4,5,6;7,8,9; と変換して保存する方法をご存知のかたおりませんか? よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

エクセルで作成するなら以下のような方法が簡単です。 空白セルに「=」と入力し、データ範囲を選択してEnterします(=A1:C3のような数式が入力されます)。 数式バーで「=A1:C3」の部分を選択しF9キーを押してEnterすればご希望のデータが数式バーに表示されていますので、その部分をコピー貼り付けしてください。

ryoriichi
質問者

お礼

お礼をするのが遅くなり申し訳ございません。 質問直後にご回答いただきありがとうございます。 参考にさせて頂きます。

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんばんは! A列にあるデータをB列に表示するようにしてみました。 VBAになってしまいますが・・・一例です。 データは1行目からあるとします。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, k As Long Dim str, buf As String Application.ScreenUpdating = False For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row Cells(i, 2) = WorksheetFunction.Substitute(Cells(i, 1), Chr(10), ";") & ";" For k = 1 To Len(Cells(i, 2)) str = Mid(Cells(i, 2), k, 1) buf = buf & str & "," Next k Cells(i, 2) = buf buf = "" Next i For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row For k = 1 To Len(Cells(i, 2)) str = Mid(Cells(i, 2), k, 3) If str = ",;," Then Cells(i, 2) = Replace(Cells(i, 2), str, ";") End If Next k Next i Application.ScreenUpdating = True Columns(2).AutoFit End Sub 'この行まで こんな感じではどうでしょうか?m(_ _)m

ryoriichi
質問者

お礼

マクロですね! 自動化にはとても適していると思いますのでとても参考になります。 早速試してみます!!

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

一例です。 仮にA:C列にデータが入力、空き列(仮にE列)に変換します。 (1)E1に=A1&","&B1&","&C1&";"&A2&","&B2&","&C2&";"&A3&","&B3&","&C3&";" (2)E1:E3範囲を選択した状態でデータ最終行までコピー→Ctrl+Gキー押下→セル選択→空白セルを選択→Crtl+-(ハイフン)キー押下→上方向にシフトを選択→OK 因みにデータとする場合は、E列を選択してコピー→形式選択して貼り付け→値を選択→OKとして下さい。

ryoriichi
質問者

お礼

特に空白セルの処理が参考になりました。 ありがとうございます!

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

正規表現を持ち出さなくても エクセルのシートデータを名前を付けてCSVで保存する。 メモ帳で見ると 1,2,3 4,5,6 7,8,9 カンマはこれで要望どおりのはず。 この各行の終わりの改行は改行コードがここに入っている。 この改行コードを;に置き換えれば仕舞い。しかしメモ帳で改行コードの指定の約束がわからない(知っている人が居るかも) それでメモ帳で(編集ー置換のメニューはあるが)置換は出来ない。 テキストエディタによっては、出来るものも多いだろう。 ーー そこで「ワード」に、このCSVファイルを読み込ませて、置換で 検索する文字列 ^p  <-注 置換後の文字列 ; で変換し、またCSVファイルで保存する。メモ帳で見ると1行データになるだろう。 (注)ワードの「検索と置換」のダイアロウグ画面で、「あいまい検索」をはずすと、「特殊文字」のボタンが使えるので、クリックして、出てくる画面で、「段落記号」を選ぶと良いと思う。

ryoriichi
質問者

お礼

正規表現を持ち出さなくても エクセルのシートデータを名前を付けてCSVで保存する。 メモ帳で見ると 1,2,3 4,5,6 7,8,9 ..... ここから先が進めなく困っていたのでとても参考になります。ありがとうございます。

回答No.1

正規表現で置換のできるテキストエディタ(秀丸エディタなど)で簡単にできますよ。 方法 1~9までのセルを選択してコピーします。 テキストエディタにペーストする。 そうすると、 1[タブ]2[タブ]3 4[タブ]5[タブ]6 7[タブ]8[タブ]9 という状態になります。(※[タブ]は見えません。長いスペースの様な表示になると思います) そこで、正規表現で置換します。 1回目の置換  置換元 「¥t」  置換先 「,」 2回目の置換  置換元 「¥n」  置換先 「;」 ¥t は、タブ。 ¥n は、改行を意味します。 他に、あらかじめカンマ区切り( .csv )で保存しておくと1回目の置換が不要になり、もっと簡単になります。

ryoriichi
質問者

お礼

お礼をするのが遅くなり申し訳ございません。 質問直後にご回答いただきありがとうございます。 参考にさせて頂きます。

関連するQ&A

  • CSVカンマ区切りって知ってますか?

    WEB上で会員登録をしてもらった場合、会員データをHPで入力しますよね。そのデータを直接エクセルのデータ管理に飛ばしたいのですが・・その場合、データ形式をCSVカンマ区切りにしてFDで保存をしたいのです。 知りたい部分は、HPからダイレクトにエクセルにデータを飛ばす方法です。ご存知の方っ教えて下さい!困ってます・・・・

  • エクセル セル内の改行削除を教えて下さい

    関数や置換えは使用せずに、フリーソフトでのエクセル セル内の改行削除方法を探しています。対象のセルがかなり多い為、一括変換が望ましいです。この処理が出来るフリーソフトをご存知であれば、教えて頂けませんか?

  • Excelのセルを入力できないようにしたいのですが・・・。

    Excelのあるセルを指定して、そのセルに何も入力できないようにしたいのです。 「データ-入力規制-全ての値」をチェックしてみたのですが、それではダメでした。 方法をご存知の方、教えてください!

  • Excelとcsvの改行について

    初めまして。 新規でネットショップをオープンすべく準備中の、HTML初心者です。 実店舗の経験をネットで生かそうと思い、分からないことが出てくる度に調べながらオープン準備を進め、何とか残るは商品データのUPのみという所まできました。 ショップサーブからダウンロードした一括UP用のcsvファイルがExcelで開いたので何の疑問も持たなかったのですが、保存時にエラーがでたため調べたところ、Excelの改行はcsvには反映されないことを知りました。 さらに調べて、改行したい部分に\r\n(Macは\n)もしくは、"文章"と入力すると改行が反映される。というところまで辿り着いたのですが、下記の内容で詰まっております。 (1)既に200近い商品データをExcelに入力済みです。入力済データの改行部分を、コマンド(コード?)に一括変換する方法はあるのでしょうか。 (2)例えば、文章の上下間を3行空ける(改行する)場合、入力は文章\r\n\r\n\r\n文章(Macは文章\n\n\n文章)もしくは、"文章"",",""文章"で良いのでしょうか。 (3)試しにネット上で入力した商品データ(csvファイル)をダウンロードして開くとExcelが起動し、ネット上で改行した部分が幾つものスペースで表示されます。データを壊さずにスペースを短くする方法はあるのでしょうか。 お手数ではございますが、宜しくお願い致します。

  • エクセルで 同じセル内で 矢印を簡単にできないか

    エクセル2010です セル内で 例えば 1→2 と入力したいとき 矢印は みぎと 入力して 変換させる と思います。 キーボード入力が不慣れな人でも→と 簡単に入力してもらいたいのですが なにか いい方法は ないでしょうか? 詳しい方、お願いします。

  • Excelのセル内改行について

    Excelのセル内に改行を含むデータが入力されています。 Excelでコピー&ペーストを行えば問題ないのですが、 メモ帳にペーストすると改行が ↑ と表示されてしまい、 1行になってしまいます。 メモ帳にペーストしてもセル内で改行されているように 改行したままで貼り付けを行うことは可能でしょうか? Sheet1:A1 あいうえおかきくけこ さしすせそ たちつてとなにぬねのはひふへほ メモ帳:貼り付け あいうえおかきくけこ↑さしすせそ↑たちつてとなにぬねのはひふへほ

  • csvカンマ区切りデータに=""を入力したい

    csvカンマ区切りデータに、例えば、 ="00",="123",="456" といった感じで入力したいのです。 大元のcsvカンマ区切りデータで、 00,123,456 が入っているので、これをExcelを使ってText変換や書式設定で文字列にして みたのですが、csvデータとしては=""としては保存されていないのです。 どなたか、こういった型変換に詳しいかたご連絡をお待ちしています。

  • エクセルでセルの頭に空白

    エクセルでセルの頭に空白が入ってしまってます。 たとえば2/4/10と入力すれば通常は2002年4月10日と変換されますが 2/4/10の先頭に空白?が入ってるため変換されません。このデーターが何万件も有るため一つずつ消していく以外に方法は有りませんか?

  • エクセルでセルに入力しないと保存出来ない方法ありますか?

    エクセルであるセルにデータ(数字や文字)を入力しないと、そのファイルが保存出来ない様な設定が出来るものでしょうか? 相手にデータの入力をお願いして、全ての項目を入力完了しないとそのファイルが保存出来ないという設定にしたいのですが、そういう設定方法があれば教えてください。

  • Excelの同じセル内で改行するには?

    クラシックMacを使っています。 Excelで同じセル内の中に箇条書きをいくつも書きたいのですが、改行させる方法が分かりません。 WindowsだとALTキーを使ったり、右クリックで出てくる書式設定でできるらしいのですが、Macではよくわかりません。 ご存じの方がいましたら教えてください。m(_ _)m

    • ベストアンサー
    • Mac

専門家に質問してみよう