タグ: Excel 仕事 基礎

数字型

1, 2, 3, 4…等よく見る数字のことです。通貨や%等もエクセルでは数字として扱われます。

注意していただきたいのは、「小数点以下は誤差が生じてします」ということです。

小数点以下は誤差が出る?

エクセルに以下のように入力した場合、IF関数の結果は1でしょうか?

=4.7-4.6

0.1

=IF(A1=B1,1,0)

正解は×です。関数結果は0となります。

実はエクセルで"0.1"と見えていますが、内部的には2進数で値が保持されています。

2進数への変換方法を覚えていますか?ざっくり言うと小数点以下がなくなるまで2倍してするでしたね。

0.1を2進数に変換すると

0.1*2=0.2   0
0.2*2=0.4   0
0.4*2=0.8   0
0.8*2=1.6   1
0.6*2=1.2   1
0.2*2=0.4   0
とどんどん続く

上のように0.1は2進数にすると無限小数となってしまいます。そのため、エクセルではある程度のところで値を丸めてしまうため、小数点以下の誤差が生じてしまいます。エクセルに限らず、「パソコンは内部で2進数に変換して計算するため、誤差が生じる事がある」と言う事を覚えておくとよいでしょう。


私事ですが、パソコンの計算ミスで不具合を出してしまい、誤差が出ると言う事を説明したが信じていただけず、むしろ反省していないと何度か始末書を書かされた事があります。


文字列型

文字列型とはひらがな、カタカナ、漢字、オルファベットや記号等です。エクセルでは"123"という数字のみで構成された文字を文字列型として扱う事もできます。(書式設定で指定する必要があります)

"1.5E+2"は文字列?

表示形式が"標準"で設定されている場合に"1.5E+2"を入力した場合は文字列でしょうか?

正解は"×"です。一見アルファベットが入っているため文字列に見えますが、エクセルでは"数字E+数字"の形式で入力された場合は,"E"を指数として扱います。指数の説明はややこしいので10と覚えておくとよいでしょう。

つまり、"1.5E+2"は"1.5*10^2"と計算され、150の数字のセルとなります。"-"(マイナス)の場合も同様に"1.5*10^-2"で"-0.15"と扱われます。

これを回避するには書式設定で"文字列"を設定してあげる必要があります。また、「業務中に"E"を検索してもなかなか検索されない」等の場合は焦らず書式設定を見直してあげてください。



日付型

日付の入力は"/"(スラッシュ)、時間の入力は":"(コロン)で区切って入力します。書式設定で各国の書式に対応させる事が出来ます。

エクセルでは1900年1月0日から9999年12月31日まで扱う事が出来ます。

日付型は数字?

エクセルで扱える1900年1月0日は実際には存在しません。ではなぜそんな日付が扱えるようになってるのでしょうか?

実はエクセルでは日付はシリアル値として扱っています。シリアル値は難しいので数字として覚えておくとよいでしょう。

整数部が1900年1月0日から経過した日数、小数点部が0時0分0秒から経過した秒数となっています。つまり、"1"は1900年1月0日から1日経過したので1900年1月1日となります。時間も同様の考え方です。

ここで注意が必要なのが時間は小数点以下の数字なので数字型でも解説した通り誤差が発生します。



数式・関数

数式・関数の入力は"="(イコール)から始めます。入力にはルールがあり、数字およびセルはそのまま、文字列および日付型は""(ダブルクオーテーション)で囲う必要があります。