- 公開日:
- 更新日:
ExcelのEXACT関数の使い方|文字列を比較する
2つの文字列を比較するEXACT関数の使い方をご説明します。EXACT関数で区別されるもの、区別されないものを事例を交えて紹介しております。
後半にはEXACT関数単体ではできない複数の文字列比較方法や、部分一致する文字列比較など、他の関数を使うことで再現できる方法も載せております。
EXACT関数の書式
![EXACT関数の書式](/_wu/exact1.png)
書式は「=EXACT(文字列1,文字列2)」のように記述します。文字列1と2それぞれに、比較したい文字列を参照しましょう。
EXACT関数の使い方
EXACT関数を使って、様々な文字列比較をご説明します。
![EXACT関数の入力](/_wu/exact1-1.png)
『=EXACT(』と入力して、EXACT関数を開始します。
![文字列1の参照](/_wu/exact2.png)
比較したい文字列1番目のセルを参照します。
![文字列2の参照](/_wu/exact3.png)
比較したい文字列2番目のセルを参照します。
![文字列比較](/_wu/exact4.png)
文字列1と文字列2はイコールなので、TRUEと表示されます。
その他EXACT関数を使った文字列比較
大文字と小文字の比較
![大文字と小文字の文字列比較](/_wu/exact5.png)
「excel」と「Excel」の文字列比較ですが、矢印の先がEと大文字になっておりますが、大文字と小文字は区別されますので「FALSE」となります。
全角と半角の比較
![全角と半角の文字列比較](/_wu/exact6.png)
「excel」と「excel」の文字列比較ですが、全角と半角は区別されますので「FALSE」となります。
スペースの有無の場合の比較
![スペースの有無の文字列比較](/_wu/exact7.png)
「excel」と「ex cel」の文字列比較ですが、スペースが含まれると違う文字列と認識されますので「FALSE」となります。
書式の有無の比較
![書式の有無の文字列比較](/_wu/exact8.png)
同じ「excel」同士の文字列比較で、一方は字体と背景色の書式が付与されております。書式の違いは無視されますので「TRUE」となります。
文字列の同じ箇所を条件付き書式で色をつける
文字列の比較が同じ場合、見やすいように条件つき書式を使って背景色をつけることも可能です。
![新しいルールの選択](/_wu/exact12.png)
①【条件付き書式の対象範囲を選択】し、②【ホーム】タブを選択し、③【条件付き書式】の④【新しいルール】を選択します。
![数式の入力](/_wu/exact13.png)
「新しい書式ルール」ダイアログボックスが開かれるので、①【数式を使用して、書式設定するセルを決定】を選択し、②『=$D3=TRUE』と入力し、③【書式】を選択します。
![書式の設定](/_wu/exact14.png)
「セルの書式設定」ダイアログボックスが開かれるので、①【塗りつぶし】タブを選択し、②【任意の色を選択】し、③【OK】ボタンを押します。
![条件付き書式の確定](/_wu/exact15.png)
条件付き書式を確定するために【OK】ボタンを押します。
![TRUEに背景色を塗る](/_wu/exact16.png)
文字列比較で同じ場合、色が塗られました。文字列比較で違う箇所を塗りつぶす場合は、数式のTRUEをFALSE変えるだけで変更できます。
複数列で文字列比較
文字列を複数比較したい場合はAND関数を組み合わせます。
![AND関数で複数列比較](/_wu/exact17.png)
EXACT関数は、2つの文字列比較しかできません。複数行いたい場合は、AND関数の論理式1,2,3の中にEXACT関数を入れ込みます。
『=AND(EXACT(B3,C3),EXACT(C3,D3),EXACT(D3,E3))』と入力します。
![すべて同じでTRUE](/_wu/exact18.png)
4つの文字列がすべて同じなのでTRUEで返されます。フィルハンドルを使って他のセルへ反映します。
![他のセルへ反映](/_wu/exact19.png)
1つでも違った文字列が入っている場合は、FALSEで返されます。
その他の関数を使った文字列比較方法
ワイルドカードを使って部分一致の文字列比較
![ワイルドカードで文字列比較](/_wu/exact9.png)
「excel」の文字列に対して「ce」は部分一致か比較します。
IF関数を利用して、IF関数の論理式でCOUNTIF関数を使います。その論理式が部分一致した場合「部分一致」と出力して、そうでない場合「部分一致していない」と出力します。
論理式のCOUNTIF関数ですが、範囲をB3セル「excel」を参照し、検索条件を「"*ce*"」と指定します。*は「任意の文字列」という意味合いがあり、文字列の前後につけることで部分一致を表現できます。
『=IF(COUNTIF(B3,"*ce*")>=1,"部分一致","部分一致してない")』と入力します。
![部分一致している](/_wu/exact10.png)
「excel」という文字列に対して、「ce」は部分一致しているので、TRUEになります。
![部分一致してない](/_wu/exact11.png)
一方で「excel」という文字列に対して、「exx」は部分一致していないので、FALSEになります。