- ベストアンサー
CSVファイルの表示形式の変換機能について
- 住所録をCSVファイルとして保存する際に、エクセルで表示される形式が変換されることがあります。
- 「11-3-23」のような住所が「2011年3月23日」と変換されてしまう場合や、「Oct-12」「3/12」のような日付が表示されてしまう場合があります。
- 「セルの書式設定」から「表示形式」を変更しても元に戻らない場合もあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
Excel2003ならデータメニューの外部データの取り込み,Excel2007以降ならデータタブのテキストファイルを開始 カンマやタブで区切られた…を選んでカンマを指定して次々進め, ウィザードの3/3画面で当該のデータの列を選んで書式設定を明示的に「文字列」にセットしてOKし, セルを選んで結果を書き込ませます。 #本当は,ファイルの拡張子を今のCSVからTXTに変更しておいて,エクセルのファイルメニューの開くでtxtファイルを開かせると,同じテキストインポートウィザードが起動するので同じ手順で行った方がベターです。 CSVファイルをただWクリックしてエクセルで開くだけで,ご希望のようになるように設定する方法は操作は全くありません。 またいちど日付で読んでしまったのをセルの書式設定の表示形式を設定して,一見「希望のように」表示を整える事が出来た場合でも,他のデータは間違った数字の並びで変換されてしまっている場合がありますので注意してください。書式設定では,パーフェクトに正しく元のデータに戻すことは出来ません。 #実際の所は 1)元の住所録データをCSVにしてエクセルで加工することを意図するなら,住所の区切りで「数字だけ-でつながっている」書きぶりを極力しないで,「○●町」とセットでデータにしておくよう心がけて使ってみてください。 2)どうしても既存のままエクセルで加工したい場合,ご相談の形式になってしまったセルのデータだけ「イレギュラー」としてイチイチ手で直して使う方が,簡単は簡単かな?と思います。
その他の回答 (2)
- shinkami
- ベストアンサー率43% (179/411)
あて名印刷ソフトが何かはわかりませんので確認できませんが CSVの内容をテキストエディター(例えばメモ帳)で文字列の置き換えではだめですか 一括置き換えで瞬時にできますが、 番地以外の文字列の月、日も置き換えられてしまいますので慎重にやってください ※フリーのテキストエディタに[TeraPad]があります。 これは編集機能(矩形編集)が充実していてお勧めです。 もしインストール可能ならこれを使われたら
- imogasi
- ベストアンサー率27% (4737/17069)
#1のお答えですべてです。 小生が、考えを整理したものを参考にかいてみます。 エクセルは1つか2つのハイフンを挟んだデータが入力された場合は、年月日表現で許される場合は日付と解釈する力が 強い(優先する)。 1-1-2 日付 2001.1.2 1-13-1 日付けでない 文字列 13月はない 1-12-35 日付でない 文字列 35日は無い 1888-2-3 日付でない 文字列 エクセルでは1899年は日付で無い。 1-2 日付 入力年によって2011-1-2や2012-1-2などになる また、問題は 2001-2-3と入れたものと1-2-3と入れたものが同じく2001-2-3になってしまっていて区別が付かない。 だからまだらになって余計困る。 >セルの書式設定」から「表示形式」を変更しても、不明な数列になってしまい元には戻りませんでした。 上記のような事情なので下手にするとかえっておかしなことになる。 あきらめてください。 ーー 変になった列(B列とする)について隣列に =IF(TYPE(B1)=2,B1,IF(ISNUMBER(B1),IF(YEAR(B1)>=1900,YEAR(B1)&"-"&MONTH(B1)&"-"&DAY(B1),YEAR(B1)-2000&"-"&MONTH(B1)&"-"&DAY(B1)),B1)) を入れると、元に戻ったように見えるかもしれないが、 2001-2-3と入れたものと1-2-3と入れたものが同じく2001-2-3になってしまっていて区別が付かないので、変になったデータからの復元も、あきらめてください。。 ーーー ですから列(項目)ごとに表示形式を設定できる、データー外部データの取り込みによって読み込み、変になる列を読み込む前にソフトに文字列だということを指定して読み込ませてください。 VBAが出来れば同様にことを10行程度のエクセルVBAで出来ますが。 ーーー また単純に読み込めるデータにするには、年賀状ソフトなどのほうで、1丁目2-1など、一部に文字を入れるようにすると良い。