• ベストアンサー

エクセルのCSVファイルで電話帳を作成しても番号が正しく保存されない。(特に国際電話番号)

初めてこちらで質問させていただきます。 タイトルにもありますように電話帳をエクセルのCSVファイルで作成して「名前をつけて保存」でファイルの種類をCSV(カンマ区切り)で保存しても入力した電話番号が保存したファイルに反映されません。 例としては、 私は国際電話をかける事が多い為電話番号を外国の番号も全て+8190XXXXXXXXで入力しますが「CSV(カンマ区切り)と互換性のない機能が含まれている可能性があります。この形式で保存しますか?」と言うメッセージが出た後「はい」をクリックしてファイルを保存しても保存されたファイルを開くと全ての番号が変更前の「8.19E+11」の様になってしまいます。 もちろん電話番号を入力する列は書式設定を「文字列」にしています。 後で電話帳のCSVファイルを携帯に送りたいのでどうしてもちゃんと入力したいのですがどなたかこの問題を解決する方法を知っていらっしゃる方がいましたらアドバイスよろしくお願い致します。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

#1です。 まず、CSVですが、このファイル形式は値以外の情報は持ちません。 その為、保存時にその旨を警告するメッセージが表示されます。 その警告に同意の上での保存となりますので、CSV自体に列幅や 文字の色と言った情報を含めるのは無理でしょう。 もし、そう言った情報も含めた上で、CSVも必要であれば、 オリジナルのファイルとしてエクセル形式でファイルを持って おいて、修正もエクセルファイルに対して行い、必要に応じて CSVファイルを作るのが良いかと思います。

LEON_3
質問者

お礼

keirikaさん、回答ありがとうございます。 CSVファイルに文字の色が含まれないのは知っておりましたが列の幅等の情報も保存されない事は知りませんでした。 確かにkeirikaさんのおっしゃる通りオリジナルをエクセルファイル形式で持っておくしかないようですね。 オリジナルをCSV形式で保存すればそのファイルを開くまでは正しい数値が保存されていると言うことですよね? (入力された+8190XXXXXXXX等の番号はそのまま保存されていて「8.19E+11」の形式にはなっていないと言う意味です。) とりあえずその方法でやってみます。 全ての番号に+を付けて入力し直さなくてはいけないので少し時間が掛かると思いますが後ほど報告致します。 とりあえずお礼まで。

LEON_3
質問者

補足

keirikaさん、前回回答頂きましてありがとうございました。 結局オリジナルをエクセルファイルで作成してそこからCSVファイルを作成して携帯にインポートしました。 CSVファイルの事を良く知りませんでしたが今回少し分かった気がします。 古い携帯からその携帯付属のソフトでデータをエクスポートしてそのデータをCSVファイルにする。 そのCSVファイルをエクセルでデータとして取り込んで文字として扱えるようにしてメインファイルを作成。 取り込んだ後全ての苗字と名前が逆になったり携帯が変わる為入力できる文字数が変わったりして戸惑いました。 そのためお返事に時間が掛かってしまいすみませんでした。 それからまたCSVファイルに変換してインポート出来ました。 連絡先が500件近くありそれにメールアドレスや2つ番号のある人もいたので一つ一つ入力し直す訳にも行かず困っておりましたので大変助かりました。 ありがとうございました。

その他の回答 (4)

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.5

まず2点補足をお願いします。 1)携帯電話には個別に直接入力したとき+8190XXXXXXXXの形式で保存できるのですか? 2)お使いの「電話帳のソフト」で個別に直接入力したとき+8190XXXXXXXXの形式で保存できますか? そもそも上記2点のうち1つでも「できない」のであれば、根本的に管理方法を変える 必要があると思います。 CSVやTXT形式のファイルに、+や-、0から始まる数字が入っている場合、文字列として 読み込むには以下の手順が必要です。 [データ]→[外部データの取り込み]→[データの取り込み]→csvファイルを指定→[開く] 「○カンマやタブなどの区切り・・・・」にチェック→[次へ]→「□カンマ」にチェック [次へ]→「電話番号の列を選択」→「○文字列」にチェック→[完了]→[OK] でも、こうやってエクセルで文字列として再びうまく開けるだけでは問題は解決した 訳ではないですよね。

LEON_3
質問者

お礼

kigoshiさん回答頂きましてありがとうございます。 先ずこちらの補足をさせて頂きますと、 1)携帯電話に直接入力した時には+8190XXXXXXXXの形式で入力できます。 現在私が使っているのはヨーロッパキャリアの3G携帯ですがこの様に入力する事によってGSMの通信方式を採用している国ならばどこに行っても国毎に異なる国際電話認識番号をわざわざ番号の前につける必要がなくなります。 (日本では010、ヨーロッパでは00、オーストラリアなどでは0011、ですね) 2)私が使っている「電話帳ソフト」は今使っている携帯電話に付属で付いてきた物ですが「FutureDial」と言うソフトです。 もちろんこのソフト上でも「+8190XXXXXXXX」の形式で保存できます。 どうやらアメリカのメーカーの様ですがそれ程ポピュラーではない様です。 このソフトはファイルの保存形式がCSVしかないのです。 教えて頂いた方法でCSVファイルをエクセルでちゃんと開くことは出来ましたが何故か「文字列」を指定してCSVファイルをエクセルで開いても「+8190XXXXXXXX」の形式では表示されずに8割が「8.19E+11」の様な形式で表示されて残りの2割くらいが「+」記号なしの数字で表示されました。 ちなみに全ての「セルの書式設定」の「表示形式」は「文字列」になっております。 とりあえずこれで一度元のエクセルファイルを作成してからそれをCSVファイルに保存しなおして「電話帳管理ソフト」で読み込んでみます。 結果はまたこちらで報告いたしますので引き続きよろしくお願い致します。 ありがとうございます。

LEON_3
質問者

補足

kigoshiさん前回私の質問にお答えいただきましてありがとうございました。 時間がかかりましたがようやくインポートできました。 結局元になるファイルをエクセルで作成してそれをCSVファイルで保存してインポート出来ました。ありがとうございました。 以前はCSVファイルをそのままエクセルで開いておりましたので教えて頂いた「外部データの取り込み方法」がとても役に立ちました。

  • NYAx2
  • ベストアンサー率27% (3/11)
回答No.4

「その後CSVファイルで保存すると再度ファイルを開いた時にやはり正しく表示されません。」の意味が「全ての番号が変更前の「8.19E+11」の様になってしまいます」の意味でしょうか? もし、それならば、該当ファイルをExcelで開いたとき、「電話番号」表示セルの「セルの標識設定」→「表示形式」で、「分類」の「数値」に変更してみてください。 でも、一旦、「8.19E+11」と表記されてしまったものは、先頭の「+」や「0」は消えてしまっています。 結局、ANo.1の回答のとおり、TXTファイルで保存し、CSVファイルとして扱う場合は、別名ファイルにコピーしてから扱うしかないかも。

LEON_3
質問者

お礼

NYAx2さん回答ありがとうございます。 おっしゃる通り「再度ファイルを開いたときにやはり正しく表示されません」の意味は「全ての番号が変更前の「8.19E+11」の様になってしまいます」と言う意味です。 もちろんCSVファイルで開いておりましたのでそのせいでどうやら変更した数値の先頭の「+」や「0」が消えてしまっていたようです。 今まではCSVファイルをそのまま開いて「電話番号」の列を「文字列」に変更しておりましたが結局変更したファイルをCSVファイルで保存していたのでkeirikaさんがおっしゃっていらした様にエクセル形式で保存して電話帳管理ソフトにインポートする前にオリジナルで作成したエクセルファイルからCSVファイルで保存した物を読み込ませるしかないのかもしれません。 一度その方法で試してみます。 後でこちらで結果報告させていただきます。 引き続きよろしくお願い致します。

LEON_3
質問者

補足

NYAx2さん前回ご回答いただきましてありがとうございました。 結局CSVファイルをエクセルの「外部データの取り込み」をしてメインファイルを製作してからそれをまたCSVファイルで保存しなおして取り込みました。 ありがとうございました。

  • NYAx2
  • ベストアンサー率27% (3/11)
回答No.2

電話番号を入力するとき、「'」(アポストロフィー)を先頭に付けて入力してみてください。文字列として、扱ってくれます。

LEON_3
質問者

お礼

早速アドバイス頂きましてありがとうございます。 確かにおっしゃる通り「'」(アポストロフィー)を先頭に付けると文字列として認識してくれるのですがその後CSVファイルで保存すると再度ファイルを開いた時にやはり正しく表示されません。 ちなみに新しく入力した名前等はちゃんと保存されているのですが変更した列の幅もCSVファイルで上書き保存すると変更前の元の状態に戻ってしまっています。 電話帳のソフトがCSVでしか認識しないのでどうしたら良いか分からず困っております。 何かいいアイデアがありましたらよろしくお願い致します。

  • keirika
  • ベストアンサー率42% (279/658)
回答No.1

保存自体は正常に行われていると思います。 確認する場合は、メモ帳を使って開いてみてください。 問題は保存をしたファイルを再びエクセルで開いた時です。 CSVの場合はエクセルがデータ形式を自動で判断します。 その為、電話番号は数値と判断され、指数表示になったと考えられます。 この表示の状態で再び上書き保存を行った場合はその時にデータが 壊れてしまいます。 この様な事を避けるためには、CSVではなくTXTで保存します。 エクセルでTXTファイルを開いた場合、テキストファイルウィザード 画面が表示され、途中でデータ形式を手動で指定出来ます。 その他の方法としてはエクセル形式のまま保存するのが一番です。 以上です。 お役に立つと良いのですが。

LEON_3
質問者

お礼

回答いただきましてありがとうございます。 確かに保存自体は正常にされていました。 メモ帳で開いてみますと変更された箇所が反映されていました。 確かにTXTで保存すれば問題は無いのかもしれませんが電話帳を管理するソフトがCSVファイルしか読み込まないのです。 そうなるとCSVファイルで保存するしかないですよね? 同じようにエクセルでTXTファイルを開いても結局それをCSVファイルで保存しないと読み込めないのです。 また何かアイデアがありましたらよろしくお願い致します。

関連するQ&A