dポイントプレゼントキャンペーン実施中!

1 2 3
4 5 6
7 8 9

とエクセルに入力されているデータを

1,2,3;4,5,6;7,8,9;

と変換して保存する方法をご存知のかたおりませんか?
よろしくお願いいたします。

A 回答 (5件)

エクセルで作成するなら以下のような方法が簡単です。



空白セルに「=」と入力し、データ範囲を選択してEnterします(=A1:C3のような数式が入力されます)。
数式バーで「=A1:C3」の部分を選択しF9キーを押してEnterすればご希望のデータが数式バーに表示されていますので、その部分をコピー貼り付けしてください。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/11 09:36

こんばんは!


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
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/11 09:42

一例です。


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

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

お礼日時:2011/10/19 10:00

正規表現を持ち出さなくても


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

正規表現を持ち出さなくても
エクセルのシートデータを名前を付けてCSVで保存する。
メモ帳で見ると
1,2,3
4,5,6
7,8,9
.....

ここから先が進めなく困っていたのでとても参考になります。ありがとうございます。

お礼日時:2011/10/11 09:43

正規表現で置換のできるテキストエディタ(秀丸エディタなど)で簡単にできますよ。



方法
1~9までのセルを選択してコピーします。

テキストエディタにペーストする。
そうすると、
1[タブ]2[タブ]3
4[タブ]5[タブ]6
7[タブ]8[タブ]9
という状態になります。(※[タブ]は見えません。長いスペースの様な表示になると思います)

そこで、正規表現で置換します。
1回目の置換
 置換元 「¥t」
 置換先 「,」
2回目の置換
 置換元 「¥n」
 置換先 「;」
¥t は、タブ。 ¥n は、改行を意味します。


他に、あらかじめカンマ区切り( .csv )で保存しておくと1回目の置換が不要になり、もっと簡単になります。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/10/11 09:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!