Excel。2つの数値が等しいかどうか調べるならDELTA関数です。
<関数辞典:DELTA関数>
DELTA関数
読み方: デルタ
分類: エンジニアリング
DELTA(数値1,[数値2])
2つの数値が等しいかどうか調べる
【Excel・Word・PowerPoint・Access】あなたの「困った」を解決!10年以上の経験が詰まった、現場の疑問から生まれた実践テクニック集。作業効率を劇的に上げるOffice活用術をお届けします。
DELTA関数
読み方: デルタ
分類: エンジニアリング
DELTA(数値1,[数値2])
2つの数値が等しいかどうか調べる
棚卸などで、データ上あるはずの在庫数が、数えてみたら異なっていたら、そのデータの行全体を塗りつぶしたい時には、どのようにしたらいいでしょうか。
さらにセルではなく、行全体なので、数式をつかった条件式をつくる必要があります。
条件式ですが、IF関数をつかってもいいのですが、数値を比較するには「DELTA関数」をつかう方法でやってみましょう。
A2:C6を範囲選択します。
設定する数式は、
=DELTA($B2,$C2)=0
あとは、書式ボタンをクリックして、塗りつぶしたい色を設定してOKボタンをクリックすれば完成です。
今回使用した「DELTA関数」は、2つの数値を比較することができる関数です。
合致していたら「TRUE」の「1」を合致してなければ「FALSE」の「0」を算出してくれます。
よって、
「=DELTA($B2,$C2)=0」というように「=0」をつけることで合致していないという意味になります。
IF関数よりもシンプルですが、残念なことに数値だけしか比較できません。
条件付き書式に様々な関数を組み合わせることで視覚的にわかりやすい資料をつくれますので、試してみると発見があるかもしれませんね。
データ上と実際の在庫数との差があるのかないのか。
入力した数値が指定の数値と同じなのか、入力ミスがないのか。
このような時に手早く確認することができるのが、DELTA関数です。
この差があるのか、ないのかをDELTA関数をつかうことで、違いの有無がわかるというわけです。
D2には、
=DELTA(B2,C2)
という数式を設定しています。
オートフィルで数式をコピーしたのが、この表です。
商品名Aは在庫数・実在庫数とも同じなので、TRUEである「1」を算出します。
逆に、同じでない場合は、FALSEの「0」を算出します。
たしかに、「1」と「0」を算出することで、合致しているかの確認は取れるのですが、わかりにくいので、IF関数を組み合わせると、使い勝手がよくなります。
=IF(DELTA(B2,C2),"合致","ズレ")
データ上と実際の在庫数との差があるのかないのか。
入力した数値が指定の数値と同じなのか、入力ミスがないのか。
このような時に手早く確認することができるのが、DELTA関数です。
この差があるのか、ないのかをDELTA関数をつかうことで、違いの有無がわかるというわけです。
D2には、
=DELTA(B2,C2)
という数式を設定しています。
オートフィルで数式をコピーしたのが、この表です。
商品名Aは在庫数・実在庫数とも同じなので、TRUEである「1」を算出します。
逆に、同じでない場合は、FALSEの「0」を算出します。
たしかに、「1」と「0」を算出することで、合致しているかの確認は取れるのですが、わかりにくいので、IF関数を組み合わせると、使い勝手がよくなります。
=IF(DELTA(B2,C2),"合致","ズレ")
Wordの校閲タブにある「比較」というのがあって、文書と文書を比較して、異なっているところ箇所を確認できるという機能があるのですが、Excelに、「比較」のような機能はありません。
入力した数値。
あるいは、セルに入力した文字が原版と比べて、修正があったかどうかを判断するには、どのようにしたらいいのでしょうか?
当然、セルの内容を比較したいわけですから、「IF関数をつかう」というのがオーソドックスな方法だと思いますが、Excelには、IF関数をつかわなくても、簡単に比較する関数が用意されています。
最初に数値の場合をみていきましょう。
C1に設定した数式は、
=DELTA(A1,B1)
A1とB1を比較して、合致していれば、「1」を算出します。TRUEということですね。
合致していなければ「0(ゼロ)」を算出します。FALSEということですね。
あとは、算出した値が0だったら、塗りつぶすとか、0の件数を算出するなどすることで、異なっている場所に対してアクションをとることも容易になるかと思われます。
ただ、このDELTA関数。
ちょっと残念なところがありまして、それは、「数値」にしか対応していない。
つまり、文字には対応してくれないわけです。
なので、文字でも、数値でも対応してくれるのが「EXACT関数」です。
F列のDELTA関数をつかうと、数字ではないので、#VALUE!というエラーが表示されてしまいました。
よって、このような文字では使うことができません。
E列はEXACT関数をつかって算出しています。
E2の数式は、
=EXACT(A2,C2)
DELTA関数同様に、わかりやすい関数ですね。
合致していれば、TRUEを算出してくれます。
4行目のように、合致していないと、FALSEを算出してくれます。
文字列は数値と異なり、異なっているかどうかを、目視で確認するのは、厳しいように感じます。
用意した文字列も、A4は「表現できます。」となっているところをC4では「表現できる。」と変えてみました。
EXACT関数自体の作成は、とても簡単ですが、ちょっと残念なのは、算出結果が、「TRUE」と「FALSE」で算出されてしまう点ですね。
そこで、数式を次のように変えてみます。
というように、「*1」。
1を乗算させると、TRUEは「1」。
FALSEは「0」に置き換わりますので、わかりやすくなります。
ExcelでTRUE/FALSEのときは、「*1」と覚えておくと、ちょっと便利です。
最後に、EXACT関数は、シート間でも使うことができます。