こにゃにゃちは。黒崎です。

1つ前の記事でCSVのあれやこれやをご説明いたしました。

で、文末に「16桁以上の数値を使っている方、要チェック」
と言いました。

実際に16桁以上の数をエクセルで打ち込むと
僕の言いたいことがお分かりになると思います。

no title

こんな感じで、変な表示になります。
どうしてこうなるのでしょう。

実は、 エクセルでは16桁以上の“数値”を取り扱う事が出来ないからです。

またまた~

と思いますよねー。僕も思っていました。
残念ながらエクセルの仕様で、本当に無理なんです。

でもこれは、決して16桁以上の“数字”が表示出来ないということではありません。

ちょっとややこしいですね。

言葉を定義しましょう。
ここで言う数値と数字はちょっと違います。

エクセルに書かれたデータを「文字」として認識するか
「数」として認識するか、という違いがあります。

たとえば、100という文字があった場合。
僕らは状況に合わせて、数字の100と認識したり、文字としての100と認識したりできます。

でもエクセルは「ABCDE」や「あかさたな」といった文字との違いを判断できません。

そこで、エクセルは数字が書き込まれたら
ひとまず「数(=数値)」として認識するようになっています。

つまり、もし書きこんだ数字を文字として認識させたい場合は
あらかじめ人間がエクセルに指示をしないといけません。 

いよいよ本題に入ります。
「エクセルでは16桁以上の“数値”を取り扱う事が出来ません。」

とどのつまり、エクセルは数値としては15桁までしか表示できないのです。
これは困ります。

スマレジの商品コードは20桁まで対応しています。
CSVを編集できるエクセルでは15桁までしか対応していません。 
なんと5桁足りません。

これを解決する方法を、今日の記事でご紹介いたします。

前置きが長かった。反省。 

先述の通り、エクセルは特に指示を出さなければ数字を“数値”として扱います。
それでは困るので、ファイルを開くときに「数字を文字として読む」様に指示します。

まずはエクセルを立ち上げ、[データ]というタブを押します。

1

[外部データの取り込み]の[テキストファイル]という項目を押します。

2

CSVはほぼテキストファイルですので、特に何か操作をしなくても
CSVファイルが表示されます。 

3

さて、見慣れないウィンドウが出てきました。  
[データのファイル形式を選択してください] とありますね。

前回の記事をご覧になった方ならお分かりのはず。
CSVファイルということは、選ぶのは
「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」 ですね。

[次へ]を押して、区切り文字の[カンマ]にチェックをつけます。

4

[次へ]を押して、文字として認識させたい列を選びます。

5

[列のデータ形式]を[文字列]にして[完了]を押します。

最後にどの場所に取り込むかを指定し、[OK]を押します。

6

大抵の場合、取り込む場所は変える必要はありません。
ためらうことなく[OK]を押しましょう。 

すると!20桁だろうが100桁だろうが
“文字”なのでしっかり表示されるのです!

商品コードなど、15桁を超える“数値”を使ったファイルを扱う時は
この「文字として認識させる」 操作をお忘れなく! 

それでは皆さま、素敵なCSVライフを!
ハバナイスディ!