こにゃにゃちは。黒崎です。
1つ前の記事でCSVのあれやこれやをご説明いたしました。
で、文末に「16桁以上の数値を使っている方、要チェック」
と言いました。
実際に16桁以上の数をエクセルで打ち込むと
僕の言いたいことがお分かりになると思います。
こんな感じで、変な表示になります。
どうしてこうなるのでしょう。
実は、 エクセルでは16桁以上の“数値”を取り扱う事が出来ないからです。
またまた~
と思いますよねー。僕も思っていました。
残念ながらエクセルの仕様で、本当に無理なんです。
でもこれは、決して16桁以上の“数字”が表示出来ないということではありません。
ちょっとややこしいですね。
言葉を定義しましょう。
ここで言う数値と数字はちょっと違います。
エクセルに書かれたデータを「文字」として認識するか
「数」として認識するか、という違いがあります。
たとえば、100という文字があった場合。
僕らは状況に合わせて、数字の100と認識したり、文字としての100と認識したりできます。
でもエクセルは「ABCDE」や「あかさたな」といった文字との違いを判断できません。
そこで、エクセルは数字が書き込まれたら
ひとまず「数(=数値)」として認識するようになっています。
つまり、もし書きこんだ数字を文字として認識させたい場合は
あらかじめ人間がエクセルに指示をしないといけません。
いよいよ本題に入ります。
「エクセルでは16桁以上の“数値”を取り扱う事が出来ません。」
とどのつまり、エクセルは数値としては15桁までしか表示できないのです。
これは困ります。
スマレジの商品コードは20桁まで対応しています。
CSVを編集できるエクセルでは15桁までしか対応していません。
なんと5桁足りません。
これを解決する方法を、今日の記事でご紹介いたします。
前置きが長かった。反省。
先述の通り、エクセルは特に指示を出さなければ数字を“数値”として扱います。
それでは困るので、ファイルを開くときに「数字を文字として読む」様に指示します。
まずはエクセルを立ち上げ、[データ]というタブを押します。
[外部データの取り込み]の[テキストファイル]という項目を押します。
CSVはほぼテキストファイルですので、特に何か操作をしなくても
CSVファイルが表示されます。
さて、見慣れないウィンドウが出てきました。
[データのファイル形式を選択してください] とありますね。
前回の記事をご覧になった方ならお分かりのはず。
CSVファイルということは、選ぶのは
「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」 ですね。
[次へ]を押して、区切り文字の[カンマ]にチェックをつけます。
[次へ]を押して、文字として認識させたい列を選びます。
[列のデータ形式]を[文字列]にして[完了]を押します。
最後にどの場所に取り込むかを指定し、[OK]を押します。
大抵の場合、取り込む場所は変える必要はありません。
ためらうことなく[OK]を押しましょう。
すると!20桁だろうが100桁だろうが
“文字”なのでしっかり表示されるのです!
商品コードなど、15桁を超える“数値”を使ったファイルを扱う時は
この「文字として認識させる」 操作をお忘れなく!
それでは皆さま、素敵なCSVライフを!
ハバナイスディ!
1つ前の記事でCSVのあれやこれやをご説明いたしました。
で、文末に「16桁以上の数値を使っている方、要チェック」
と言いました。
実際に16桁以上の数をエクセルで打ち込むと
僕の言いたいことがお分かりになると思います。
こんな感じで、変な表示になります。
どうしてこうなるのでしょう。
実は、 エクセルでは16桁以上の“数値”を取り扱う事が出来ないからです。
またまた~
と思いますよねー。僕も思っていました。
残念ながらエクセルの仕様で、本当に無理なんです。
でもこれは、決して16桁以上の“数字”が表示出来ないということではありません。
ちょっとややこしいですね。
言葉を定義しましょう。
ここで言う数値と数字はちょっと違います。
エクセルに書かれたデータを「文字」として認識するか
「数」として認識するか、という違いがあります。
たとえば、100という文字があった場合。
僕らは状況に合わせて、数字の100と認識したり、文字としての100と認識したりできます。
でもエクセルは「ABCDE」や「あかさたな」といった文字との違いを判断できません。
そこで、エクセルは数字が書き込まれたら
ひとまず「数(=数値)」として認識するようになっています。
つまり、もし書きこんだ数字を文字として認識させたい場合は
あらかじめ人間がエクセルに指示をしないといけません。
いよいよ本題に入ります。
「エクセルでは16桁以上の“数値”を取り扱う事が出来ません。」
とどのつまり、エクセルは数値としては15桁までしか表示できないのです。
これは困ります。
スマレジの商品コードは20桁まで対応しています。
CSVを編集できるエクセルでは15桁までしか対応していません。
なんと5桁足りません。
これを解決する方法を、今日の記事でご紹介いたします。
前置きが長かった。反省。
先述の通り、エクセルは特に指示を出さなければ数字を“数値”として扱います。
それでは困るので、ファイルを開くときに「数字を文字として読む」様に指示します。
まずはエクセルを立ち上げ、[データ]というタブを押します。
[外部データの取り込み]の[テキストファイル]という項目を押します。
CSVはほぼテキストファイルですので、特に何か操作をしなくても
CSVファイルが表示されます。
さて、見慣れないウィンドウが出てきました。
[データのファイル形式を選択してください] とありますね。
前回の記事をご覧になった方ならお分かりのはず。
CSVファイルということは、選ぶのは
「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」 ですね。
[次へ]を押して、区切り文字の[カンマ]にチェックをつけます。
[次へ]を押して、文字として認識させたい列を選びます。
[列のデータ形式]を[文字列]にして[完了]を押します。
最後にどの場所に取り込むかを指定し、[OK]を押します。
大抵の場合、取り込む場所は変える必要はありません。
ためらうことなく[OK]を押しましょう。
すると!20桁だろうが100桁だろうが
“文字”なのでしっかり表示されるのです!
商品コードなど、15桁を超える“数値”を使ったファイルを扱う時は
この「文字として認識させる」 操作をお忘れなく!
それでは皆さま、素敵なCSVライフを!
ハバナイスディ!
コメント