Introduction
Ver. all 2013 2016 2019 2021 365
エクセルでデータの値を比較する方法はいくつかあります。その中でのEXACT関数とDELTA関数の違いについて説明します。
ついでに「=」で比較した時の例も紹介します。
同じように使えそうだけど違いはあるのかにゃ
EXACT関数とDELTA関数の違い
では、2つの関数を比べていきましょう。
それぞれの関数の説明は下のようになります。
EXACT関数・・・2つの文字列を比較し、完全に同じ場合は「TRUE」、異なる場合は「FALSE」を返す
=EXACT(文字列1, 文字列2)
- 文字列1・・・比較する文字列を指定
- 文字列2・・・比較するもう一つの文字列を指定
DELTA関数・・・2つの数値を比較し、完全に同じ場合は「1」、異なる場合は「0」を返す
=EXACT(数値1, 数値2)
- 数値1・・・比較する数値を指定
- 数値2・・・比較するもう一つの数値を指定
今回は、下のように「A」「B」に数値や文字を入力し、それぞれを「EXACT関数」と「DELTA関数」で比較した結果を見ながら説明していきます。
比較する対象の違い
最初に目につく点は比較する対象です。
- EXACT関数・・・文字列を比較
- DELTA関数・・・数値を比較
「A」「B」それぞれに同じ数値と文字を入力したものを比較すると、DELTA関数で文字列を比較した結果にはエラーが表示されているのがわかります。
この例からも、DELTA関数では文字列を比較できないことが分かります。
しかし、下画像のように「EXACT関数」で数値の比較はできます。
比較した後の違い
次に気になる点は比較した後の結果です。
- EXACT関数・・・同じ場合は「TRUE」を返し、違う場合は「FALSE」を返す
- DELTA関数・・・同じ場合は「1」を返し、違う場合は「0」を返す
下画像は「A」「B」に同じ数値を入力したものと違う数値を入力したものを比較した結果です。
EXACT関数は「TRUE」「FALSE」で、DELTA関数は「1」と「0」で結果が表示されているのが分かります。
このため、DELTA関数を使用すると、その結果が数値として表示されるので、そのまま足し算や掛け算で利用できます。
「空欄」と「0」の扱い
次に考えたいのが「空欄」と「0」の扱いです。
それぞれを同じとみなすのか違うとみなすのか・・・。
結果は下のようになります。
- EXACT関数・・・「FALSE」違うものとして判定する
- DELTA関数・・・「1」同じものとして判定する
ということで、空欄と「0」を区別したい場合はEXACT関数を使った方が良いことになります。
「=」で結んだ場合
さて、ここでもう一つ比較する際に使用するものを一つ追加したいと思います。
それは、それぞれを「=」イコールで結ぶ方法です。
一番単純な方法ですね。
こちらの結果は「TRUE」「FALSE」で返されます。
ん?EXACT関数と同じでは。
だったら、EXACT関数は使わずにいつも「=」を使って比較した方が良い気がします。
例えば、下のように結果をIF関数を使用して「〇」「×」と表示したかった場合、
その式は下のようになります。
「=」で結んだ方が短くて分かり易い式ですね。
しかし、下の画像をご覧ください。同じ文字列でも大文字と小文字を使用した場合結果が異なります。
- EXACT関数・・・大文字と小文字を区別する
- 「=」で結ぶ・・・大文字と小文字を区別しない
大文字と小文字を区別して比較したい場合はEXACT関数を使用しましょう。
まとめ
2つを比較する際の特徴をまとめると下のようになります。
- 「=」で結ぶ・・・通常は一番簡単なこれで良い。
- EXACT関数・・・アルファベットの大文字と小文字を区別したい時。「空欄」と「0」を区別したい時。
- DELTA関数・・・「0」「1」の結果をそのまま足し算や掛け算で利用したい時。
今回の説明の例を1つにしたのが下の画像です。
「=」で結ぶことを基本に考えつつ、状況に応じてEXACT関数やDELTA関数を使えばOKですね。
ちなみに文字の「半角」「全角」はどちらも違うものとして判別するにゃ