こんにちは笹川です。先日、ふと思い立ってTwitterでこんなことをつぶやいたら思っていたより反応がありました。
みなさん同じ悩みを抱えているなぁと感じました。そこで、今回は「CSVファイルの0を落とさずに開く方法」について書いてみます。
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。
そもそも、なぜ0が落ちてしまうのか
1. CSVファイルとは
kintoneからファイルを書き出すと、「CSVファイル」で出力されます。カンマ区切りファイルともいいます。
カンマ区切りと言われてもピンとこないかもしれません。百聞は一見に如かず。どんな姿をしているか見てみましょう。
試しに、顧客リストのアプリからファイルを書き出してみます。

こちらが書き出したCSVファイルです。

「なんだか知っているのと違うぞ?」と思う方もいるかもしれませんが、CSVファイルとは、このように値と値とをカンマで区切った状態のテキストファイルなのです。
Windowsに付属している「メモ帳」などで開いて確認できます。
2. CSVファイルをExcelで開く
このままでは非常に編集がしにくいですね。そこで、ExcelでCSVファイルを開いてデータを加工しよう、ということになります。カンマで区切っているところでセルに分割することで扱いやすくします。
WindowsではCSVファイルは既定でExcelに関連付けられており、ファイルをダブルクリックして開くとExcelで開くようになっています。
それならばと、CSVファイルをExcelで開いてみると…

なんと、顧客番号は5桁のゼロ埋めにしていたはずなのに、0がいなくなってしまいました!メモ帳で開いたときは大丈夫だったのに!!
実はこれ、Excelの気が利きすぎているが故に起きていることで、ゼロ埋めしている値を「数値」として認識してしまうからなんです。Excelはそもそも表計算ソフトなので、「00001」の0は意味をなさないと判断し、計算しやすい「1」に直してしまうんですね。
0が落ちないようにファイルを開くには
「じゃあCSVはExcelで開かない方がいいの?」と心配になってしまった方、ご安心ください。ファイルの開き方にコツがあります!
Excelに「数値じゃないよ」と伝えてから取り込むことができれば解決です。
Excelの「外部データの取り込み」機能を使おう
ファイルを書き出したら、すぐにダブルクリックで開きたいところですが、そこをグッと堪えて先にExcelを開きます。出だしが肝心!
「データ」タブから、「外部データの取り込み」を選択します。「テキストファイル」をクリックするとファイル選択の画面が表示されるので、kintoneから書き出したCSVファイルを選択します。

すると、テキストファイルウィザードが表示されます。

余談ですが、ウィザードは本来は「魔術師」という意味ですが、ソフトウェアでは「対話形式で設定作業を誘導してくれる機能」のことをウィザードと言います。「質問に答えていたら設定が終わっちゃった!」というのがまさに魔術師さながら、というわけですね。面白いです。
さて、冒頭にお伝えした通りCSVファイルは「カンマ区切り」なので、ここでは「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択します。(ちなみに「コンマ」か「カンマ」かは、commaをどう発音するかの違いだけなので、どちらも同じです。)
次へ進みます。

区切り文字は何かを聞いてくるので「コンマ」を指定します。プレビュー画面で、カンマだったところが仕切られる瞬間はちょっと気持ちいいです。
そしていよいよ次が本題!

列ごとにデータの形式を選択できます。ここで、先ほど「数値」として認識されてしまった顧客番号を「文字列」として指定します。
ここで、Excelに「数値じゃないよ」と伝えることができるんですね!
全ての設定を終えたら、完了ボタンをクリックします。
ウィザードが閉じて、Excelのどこにデータを書き出すのか聞いてきます。

希望があれば指定し、特に無ければデフォルトのままで大丈夫なのでOKボタンをクリックします。
見事、データが取り込まれました。

ゼロ埋めで顧客管理番号が書き出されています!ウィザードさんありがとう!
まとめ
今回はCSVファイルをExcelで開くとゼロ落ちしてしまう場合の対処法として、外部データの取り込み機能を紹介しました。
この機能は、他にもこんなときに使うことができます。
- 住所の番地が日付になってしまう
- 桁数が多すぎて指数表示(E+11のような表示)になってしまう
いずれもデータの形式を指定することで解決できます。難しそうに見えますが、やってみると簡単です。ぜひチャレンジしてみてください!
kintoneは便利ですが、ときにはCSVファイルを書き出してデータを加工することもあると思います。そんなときに手間取らないよう、このブログが役に立ったら嬉しいです!
※ちなみに、外部データの取り込み機能と同じようなことが、Power Query機能を使ってもできます。そっちが好みという人はそれでもOKです。詳しくはMicrosoftヘルプ「Excel の Power Query について」をご覧ください。
弊社では初回開発無料の定額39万円でkintoneアプリを開発する定額型開発サービス「システム39」を提供しております。kintoneの導入やアプリ開発でお困りの方は、お気軽にご相談ください。
*Webでの打ち合わせも可能です。