CSVでメルマガ読者の管理をされている方は非常に多いのではないでしょうか。実は、CSVをエクセルで編集して思わぬトラブルに陥ってしまうケースがあるのです。ここでは、CSVファイルをエクセルで取り扱う場合に知っておきたいポイントをご説明します。
フォームからデータをダウンロードすると番地が日付になってしまう、という現象です。これは読者データの他、アンケートや問い合わせのデータなどでもよくあります。非常によくあるお問い合わせのひとつですので、ご存知の方も多いかもしれませんね。
例えば、「12-1-12」は「2012/1/12」、「1-2-3」は「2001/2/3」、「5-5」は「5月5日」のように勝手に日付になってしまいます。日付として成り立たない番地は変換されません。一度日付になってしまったファイルを上書き保存すると元に戻せなくなるので注意が必要です。
これを防ぐ方法は二つあります。
住所をまとめてセルにする方法は、たとえばアンケートや問い合わせなどでフォームを用意するときに、番地だけを独立した項目にせず住所とまとめたデータにするという方法です。入力データが日付に変換できないデータであれば問題にならないので、これからアンケートなどのフォームを作る場合は参考にしてください。
CSVをテキストファイルとして読み込む方法はやり方は以下の通りです。
エクセル2010の場合
・メニューの「データ」>「外部データの取り込み テキストファイル」をクリックします。
・CSVファイルを選択し、インポートします。
・テキストファイルウィザードが表示されます。
・元のデータ形式を質問されますので「カンマやタブなどの、、」を選択し次へを選択します。
・区切り文字は「カンマ」を選択し、プレビューを確認して次へを選択します。
・プレビューから番地の項目をクリックして「列のデータ形式」を「文字列」にします。
・完了をクリックするとCSVをエクセルで開くことができます。
※尚、エクセルでファイルを開くときはこの作業を毎回行う必要があります。
エクセルではひとつのセル内に改行を含む文字列を記入することができますが、この機能はCSV形式で保存する場合は使わないようにしましょう。セル内の改行が原因で1行のデータが複数行にバラバラに入ってしまって誤認識されます。
すでにセル内改行を使っている場合は「セルの書式設定」の「配置」で「折り返して全体を表示する」のチェックを外せばセル内改行は解除されます。
データの形式が「0001」のように数値の左側の”0”があるデータはエクセルで開くと数値と認識されて0が消されてしまいます。こちらもエクセルで開いた後で気づかずに上書き保存すると簡単には戻せなくなるので注意しましょう。
これは先述の「CSVをテキストファイルとして読み込む方法」と同様に文字列として読み込むことで対策できます。
エクセル2002までは各セルの項目数を16行単位で計測しているそうです。CSVファイルの項目は左端から並んでいますが、右側の項目が複数行連続して空白データだった場合に途中から項目数が少ないCSVとして保存される可能性があります。
一般的なメール配信システムはCSVの項目が少ない行があるとインポートに支障がでます。予防策としては、右端の列には何らかのデータがある項目にすることが挙げられます。
エクセルでCSVファイルを保存するときの注意点です。ファイルを編集して保存する場合は「ファイルの種類」が「CSV(カンマ区切り)(*.csv)」となっていることを確認してください。windowsは初期設定ではファイルの拡張子を表示しないようになっているため、拡張子が間違っていても気づきにくいのです。
ファイル名にsample.csvと記述してエクセルブック形式でファイルを保存すると「sample.csv.xls」といったファイル名になってしまいます。パッと見ではファイル名がsample.csvなのでCSV形式のファイルに見えますが、実はエクセルファイルなのでCSVをインポートするシステムには取り込むことができません。
このトラブルを起こさないようにする手段として簡単な方法は、ファイルの拡張子を表示する方法です。