- Excelのワークシート関数を使います
- IF関数、EXACT関数、COUNTIF関数
- 各関数の細かな説明はしません(知識が無くても読めば分かると思いますよ)
- セルとセルと比較します
- 見易い比較結果の出し方を説明します
Excelを使って2つのデータや表を比較することはないですか?
この記事では、ワークシート関数を使って簡単に比較する方法を説明します
比較対象のデータがA1セルとB1セルに、比較結果がC列に入っているものとしてお読みください
先に結論
記事全部を読むのが面倒な人はここに書いているものをコピって使えばいいでしょう
=IF(EXACT(A1,B1),”…”,”NG”)
=IF(A1=B1,”…”,”NG”)
まずはこの2つの式を覚えてね
=EXACT(A1,B1)
=A1=B1
※=からコピってセルの中に貼り付ければOKです
※セル番地は各自の比較対象のセルバチに変更してね
どう違うの?
動きとしては同じです。
結果として、「TRUE」もしくは「FALSE」と表示されるだけです。
比較の判断基準が少し変わります。
パターン1:大文字と小文字を区別します
パターン2:大文字と小文字を区別しません
数字を比較する場合はどちらでもいいですが、
英文字を比較する場合は大文字小文字の区別があるので、必要な方を使ってください
応用編
さて、実際のところ、私はセルとセルを比較することはしょっちゅうありますが、パターン1・パターン2をそのまま使うことはしません
(もうちょっと言えば、大文字小文字を区別したいのでパターン2を使うこともありません)
最初の結論に書いた式を使います
=IF(EXACT(A1,B1),”…”,”NG”)
IF関数が付きましたね
なぜIF関数を使っているかと言うと、、、、、
以下の図をご覧ください
左と右と、どちらが間違いを見つけやすいですか?
右側ですよね
NGの箇所がすぐに分かります
左側はTRUEとFALSEが混在しているのでFALSEを見落としかねません、いや、見落とすでしょう
=IF(EXACT(A1,B1),”正”,”誤”)
=IF(EXACT(A1,B1),”T”,”F”)
=EXACT(A1,B1)
みたいな感じで書きましょうという解説が多いように思います
「おいおい、君は本当にその書き方をしてるのかい?」
「”正”と”誤”の文字がずらっと並んだ時に見づらいと思わないのかい?」
「比較結果の見落としは無いのかい?」
といつも思っています(笑)
応用編の説明
… と NG の部分は好きに書き換えていいです
↓こんな感じで
=IF(EXACT(A1,B1), “OK” , “…”)
=IF(EXACT(A1,B1), “” , “間違ってるやーーん!!”)
=IF(EXACT(A1,B1), “合致してるよーーーん” , “”)
=IF(EXACT(A1,B1), “合致してるよーーーん” , “間違ってるやーーん!!”)
EXACT関数を使ってまで比較するということは、比較対象が大量にあるはずです
その比較結果を見るとき、どこが不一致になっているか? or どこが合致しているか? のどちらかだけが分かればいいはずです
… が目立たないお陰で、NG という文字がパッと目に飛び込んできますよね
でもね、さっきも言いましたが、比較対象は大量にあることが多いと想定します
=IF(EXACT(A1,B1),”…”,”NG”)
を一つのセルに書いたら、そのセルを大量にコピーしますよね
※コピーすると、自動的にセル番地を示す(A1,B1)の部分が書き換わってくれます
大量にあると、コピーしていない部分があるかも知れません
… は式のコピー漏れ発見のために書いているだけです
コピー漏れが絶対に無いと思うなら
=IF(EXACT(A1,B1),””,”NG”)
でいいですよ
NGをカウントしよう
比較結果があまりにも大量にある場合、COUNTIF関数を書いておけばいいですよ。
NGが何個あるかすぐに分かります
=COUNTIF(C1:C30,”NG“)
まとめ
- 比較用の式
=IF(EXACT(A1,B1),”…”,”NG”)↓以下の部分は各自の環境に合わせて書き換えてね
- A1とB1は比較する対象
- … は比較一致した時に表示する文字
- NG は比較不一致の時に表示する文字
- NG数カウントの式
=COUNTIF(C1:C30,”NG”)↓以下の部分は各自の環境に合わせて書き換えてね
C1:C30
は比較結果が表示されているエリア- NG は
=IF(EXACT(
のNG部分と合わせること
さいごに、
比較は一時的にやりたいだけだし、サクッと使い捨てで書くことが多いです。
今回説明したやり方だと、大して手間はかからないし、目視ですけど間違い箇所がすぐに分かります。
あまりにも大量だとCOUNTIF関数を使いますが、それも別に手間ではないです
Excelのワークシート関数知らない方だと、
IF ????
EXACT ????
ってなるかも知れませんが、
ちょっとまってください、数秒考えればきっと分かります!!!
難しそうと思うのは気のせいです、錯覚です、蜃気楼です
ぜひ一度お仕事で使ってみてください
きっと役に立ちます!
でもやっぱり分からないとおっしゃる場合は、私のプログラミングレッスンを一度無料で体験してみてください。
Excel VBA のレッスンに興味がある方、レッスン内容を聞いてみたい方、なんなりとお問い合わせください。
無料体験レッスンもありますのでお気軽にどうぞ!!!
実際のやりたいことがわかってない説明ですね