- ベストアンサー
CSVファイルのフィールド編集方法は
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
エクセルのヘルプで簡単に見つかります。 今回の結果を得る関数はいくつかありますので、一度、調べてみて下さい。 例として、B列を全選択して列の挿入し、空のB2セルに以下の式を記入。 =RIGHT(A2,LEN(A2)-2) B2セルを選択し必要な行までフィルペーストすれば完成。
その他の回答 (3)
- msMike
- ベストアンサー率20% (368/1813)
CSVファイルは、Excelのワークシートに読み込んだ時点で、CSVファイルでなくなっています。 Excelのワークシートとして通常の編集をすればよろしいかと。
お礼
ありがとうございます、#1さんのやり方で解決しました。
- Prome_Lin
- ベストアンサー率42% (201/470)
「VBScript」による回答です。 このプログラムは、これから2行目以降の先頭2文字を削除したい「csv」ファイルを1つだけ、プログラムファイルにドラッグ&ドロップすると、ドラッグ&ドロップしたファイルと同じフォルダ内に、たとえば「Music.csv」をドラッグ&ドロップした場合、「Music(Delete).csv」ファイルを作成します。 注意事項としては、今は、「csv」ファイルの文字コードは、Windows標準の「ANSI(=「Shift-JIS」)」としています。 「csv」ファイルは、テキストファイルですので、「メモ帳」で開くことができます。。 これから処理したい「csv」ファイルをメモ帳で開いて、「ファイル」→「名前を付けて保存」を選択すると「保存」ボタンの左横に「文字コード」が表示されています。 今回のプログラムでは、「ANSI(=「Shift-JIS」)」、「UTF-8」、「Unicode」に対応できますが、自動的には対応できませんので、上記の方法で確認していただき、プログラムをその「csv」ファイルの文字コードに合わせてから実行してください。 変更箇所は、3行目の「mc = "Shift-JIS" '"UTF-8", "Unicode"」です。 今は、「"Shift-JIS"」になっているところを、「"UTF-8"」または「Unicode」にするだけです。 以下のプログラムをメモ帳かテキストエディタに貼り付け、「~.vbs」という名前で保存します。 「~」の部分は、何でもかまいませんが、「.vbs」の部分は、必ず、半角です。 できたプログラムファイル(「~.vbs」ファイル)に、これから処理したい「csv」ファイルを1つだけ、ドラッグ&ドロップするだけです。 最後に「Finished!」と表示しますので、「OK」を押して、終了してください。 Option Explicit Dim ai, ao, f, mc, n, so, wa, x mc = "Shift-JIS" '"UTF-8", "Unicode" Set so = CreateObject("Scripting.FileSystemObject") Set wa = WScript.Arguments If wa.Count <> 1 or LCase(so.GetExtensionName(wa(0))) <> "csv" Then MsgBox("ドラッグ&ドロップできるのは、csvファイル1つだけです") WScript.Quit End If f = so.GetParentFolderName(wa(0)) n = so.GetBaseName(wa(0)) Set ai = CreateObject("ADODB.Stream") ai.Type = 2 ai.Charset = mc ai.Open ai.LoadFromFile wa(0) Set ao = CreateObject("ADODB.Stream") ao.Type = 2 ao.Charset = mc ao.Open x = ai.ReadText(-2) ao.WriteText x, 1 Do Until ai.EOS x = ai.ReadText(-2) ao.WriteText Mid(x, 3), 1 Loop ai.Close ao.SaveToFile f & "\" & n & "(Delete).csv", 2 ao.Close Set ai = Nothing Set ao = Nothing Set so = Nothing MsgBox("Finished!")
お礼
ありがとうございます、#1さんのやり方で解決しました。
- asciiz
- ベストアンサー率70% (6850/9746)
作業列を作って加工をする式を書いて結果を値でペーストして作業列を消す。保存。 という流れでどうでしょうか。 (1)A列を右クリックして「挿入(I)」、作業用の列を作ります (2)A2セルに「=mid(B2, 3, 999)」と入れます 式はいろんな書き方ができますが、今回はmid関数で、「3文字目から999文字を取り出す」としました。(999文字も無いでしょうから文字列の最後までとなります) (3)A2セルのフィルハンドル(セル右下の点)をダブルクリックします→データの最後まで式がコピーされます (4)A列を選択し、コピーします (5)B1セルをクリックし、右クリックから[値での貼りつけ]を行います([123]アイコン) A列が再度計算されさらに短くなりますが、もう不要です あ、B1セルが消えちゃうと思うんで"名前"を手入力してください (6)A列を選択し、右クリックから「削除(D)」します (7)任意のファイル名で保存してください。 まあCSVファイルはテキストなので、ひょっとするとテキストエディタで読み込んでマクロでも使った方が早いかもしれませんが。 Excel手作業ならばこんなところで。
お礼
ありがとうございます、#1さんのやり方で解決しました。
お礼
出来ました、ありがとうございます!