解決済み

CSVファイルのフィールド編集方法は

  • 困ってます
  • 質問No.9576671
  • 閲覧数86
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 75% (1390/1850)

Windows7です。
CSVファイルのフィールド(項目)編集方法お願いします。
やりたい事;
添付画像のA列(名前)の左から2ケタを一括で削除し左詰めしたい。
例 00夜明けのスキャット、、、→ 夜明けのスキャット、、、

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

  • 回答No.1

ベストアンサー率 22% (169/746)

エクセルのヘルプで簡単に見つかります。
今回の結果を得る関数はいくつかありますので、一度、調べてみて下さい。
例として、B列を全選択して列の挿入し、空のB2セルに以下の式を記入。
=RIGHT(A2,LEN(A2)-2)
B2セルを選択し必要な行までフィルペーストすれば完成。
お礼コメント
umimonogat

お礼率 75% (1390/1850)

出来ました、ありがとうございます!
投稿日時 - 2019-01-12 08:36:16

その他の回答 (全3件)

  • 回答No.4

ベストアンサー率 22% (230/1035)

CSVファイルは、Excelのワークシートに読み込んだ時点で、CSVファイルでなくなっています。
Excelのワークシートとして通常の編集をすればよろしいかと。
お礼コメント
umimonogat

お礼率 75% (1390/1850)

ありがとうございます、#1さんのやり方で解決しました。
投稿日時 - 2019-01-12 08:38:45
  • 回答No.3

ベストアンサー率 42% (200/467)

「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!")
お礼コメント
umimonogat

お礼率 75% (1390/1850)

ありがとうございます、#1さんのやり方で解決しました。
投稿日時 - 2019-01-12 08:37:56
  • 回答No.2

ベストアンサー率 72% (4191/5802)

作業列を作って加工をする式を書いて結果を値でペーストして作業列を消す。保存。

という流れでどうでしょうか。

(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手作業ならばこんなところで。
お礼コメント
umimonogat

お礼率 75% (1390/1850)

ありがとうございます、#1さんのやり方で解決しました。
投稿日時 - 2019-01-12 08:37:41
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


感謝でトクする時代へ!感謝経済に参加しよう!

ピックアップ

ページ先頭へ