EXACT関数の使い方|文字列の比較

Excel(エクセル)EXACT関数の使い方|文字列の比較
Excel関数

Excel(エクセル)EXACT関数の使い方|文字列の比較

使用関数:EXACT、IF

EXACT関数とは?

EXACTの読み方と意味

EXACTは「きっかり」とか「ちょうど」を意味する英語です。比較して等しいという意味ですね。イグザクトと読みます。文字列を比較して一致か不一致かを判定する関数です。返す値は「TRUE」か「FALSE」です。

EXACT関数と比較演算子=イコールの違い

EXACT関数は比較演算子の「=イコール」とほぼ同様の働きをします。Excelで入力された2つのデータを照合し、一致・不一致を判定してTRUEかFALSEを返すのはEXACTも=も同じです。

大文字と小文字を比較する

EXACT関数と=イコールの一番大きな違いは「大文字と小文字を区別するかしないか」です。

下図は大文字小文字が混在したテキストと、小文字だけ、大文字だけのテキストをEXACT関数と=イコールでそれぞれ比較した表です。

  • =イコールの数式:=B2=B4、=B2=B5
  • EXACT関数の数式:=EXACT(B2,B4)、=EXACT(B2,B5)

大文字小文字の混ざったテキストをEXACT関数と=イコールで比較した表

  • =イコールは大文字小文字を区別しないため同じデータと判定し、「TRUE」を返します。
  • EXACT関数は大文字小文字を区別するため違うデータと判定し、「FALSE」を返します。

大文字小文字の別なく比較したいなら「=イコール」で、大文字小文字の差異を明確にして比較したいなら「EXACT関数」を選択しましょう。

全角と半角を比較する

EXACT関数と=イコールのどちらも全角と半角は区別します。
EXACT関数と=イコールのどちらも全角と半角は区別

ひらがなとカタカナを比較する

EXACT関数と=イコールのどちらも漢字とひらがなとカタカナは区別します。
EXACT関数と=イコールでひらがなとカタカナを比較する

数値と数式を比較する

下図は一見「5」という同じ数値を比較しているように思えますが、C4セルには「=10/2」という数式が、C5セルには「=2+3」という数式が入力されています。
EXACT関数と=イコールで数値と数式を比較する
EXACT関数と=イコールのどちらも「TRUE」が返り、数式自体を比較するのではなく、結果を比較しているのが分かります。
EXACT関数の引数に「=10/2」「=2+3」と数式を指定しても同じです。数式の結果が同じであるかどうかを判定します。

日付を比較する

下図は「2022/1/30」という日付と表示形式の違う日付をEXACT関数と=イコールで比較したものです。
日付をEXACT関数と=イコールで比較
EXACT関数と=イコールのどちらも「TRUE」が返り、表示形式や書式に関係なく、日付を比較しているのが分かります。
表示形式を「日付」から「文字列」に変更しても結果は同じです。

EXACT関数の使い方

EXACTは「数式」タブ→「関数ライブラリ」→「文字列操作」に格納されています。一覧を下へスクロールして「EXACT」をクリックします。
「数式」タブ→「関数ライブラリ」→「文字列操作」→EXACT

EXACT関数の引数は「文字列1」「文字列2」の2つです。引数には文字列の他、数値・数式・日付・時刻・セル参照を指定できます。
EXACT関数の引数は「文字列1」「文字列2」

EXACT関数を応用してデータの正誤を比較する

EXACT関数で質問に対する正解と「回答A」「回答B」のデータを照合して正誤を判定します。
EXACT関数で質問に対する正解と「回答A」「回答B」のデータを照合して正誤を判定

判定の最初のセル(C6)にEXACT関数を入力します。第一引数に正解の最初のセルを絶対列参照で指定、第二引数に回答の最初のセルを指定します。
数式は「=EXACT($B6,C2)
判定の最初のセル(C6)にEXACT関数を入力
C6セルのEXACT関数を他のセルにフィルコピーします。
EXACT関数を他のセルにフィルコピー

IF関数にEXACT関数を入れ子して決まった文字を表示させる

前章で正誤を判定したセルに「TRUE」「FALSE」ではなく、「正解」「不正解」の文字を表示させます。
判定の最初のセル(C6)にIF関数「=IF(EXACT($B6,C2)=TRUE,“正解”,“不正解”)」を入力します。
EXACT関数を論理式に組み込んだIF関数のダイアログボックス

  • IF関数の第一引数:論理式 → EXACT($B6,C2)=TRUE(B6とC2を比較してTRUEだったら)
  • IF関数の第二引数:真の場合→ ”正解”(正解と表示する)
  • IF関数の第三引数:偽の場合→ ”不正解”(不正解と表示する)

C6セルのIF関数を他のセルにフィルコピーします。
IF関数を他のセルにフィルコピー

条件付き書式で同じ文字列のセルに色を付ける

EXACT関数で「TRUE」「FALSE」を表示させたセルを色分けする方法も書いておきます。「TRUE」と入ったセルに条件付き書式で色を付けます。
判定の最初のセル(C6)を選択して、「ホーム」タブ→「スタイル」グループ→「条件付き書式」をクリックしてメニューから「新しいルール」を選択します。
「ホーム」タブ→「スタイル」グループ→「条件付き書式」→「新しいルール」」
新しい書式ルール」ダイアログが開いたら、ルールの種類から「数式を使用して、書式設定するセルを決定」を選択、「次の数式を満たす場合に値を書式設定」のテキストボックスに「=C6=TRUE」と入力して、書式ボタンから塗りつぶしやフォントの色などを設定します。
「C6セルがTRUEだったら」という条件を数式で指定し、その場合の書式を自由に設定するということです。
条件付き書式の新しい書式ルールで数式を指定し、書式を設定する
フィルコピーして完了。EXACT関数で「TRUE」の判定が出たセルに色が付きました。
EXACT関数で「TRUE」の判定が出たセルに条件付き書式で色がついた

EXACT関数で複数の範囲を比較する

スピルが使えるExcel(2019~、365)の環境では複数の範囲指定ができます。
前章でEXACT関数を応用してデータの正誤を比較した例では、判定のC6セルを選択してEXACT関数の引数ダイアログを開き、

  • 第一引数:文字列1に「正解」のセル範囲を「B6:B8」と指定
  • 第二引数:文字列2に正誤の判定をする解答のセル範囲を「C2:D4」とまとめて指定

EXACT関数の引数ダイアログで文字列の範囲を複数まとめて指定

計算式 =EXACT(B6:B8,C2:D4)
この式を最初のセルに入れるだけで、他のセルへ予測値が自動表示されます。オートフィルコピーする必要はありません。
EXACT関数で複数の範囲を比較すると予測値が複数範囲に自動表示される

EXACT関数でシートを比較する

スピルが使えるExcel(2019~、365)の環境ではEXACT関数でシートのデータが一致か不一致かを比較できます。
不一致のデータが入っているセルの抽出もできます。

ほとんどのデータが一致している2つのシートをEXACT関数で比較してみましょう。
EXACT関数で比較する2つのシート
別シートの任意のセルでEXACT関数のダイアログを開き、第一引数の「文字列1」に「Sheet1」のデータ範囲を指定、第二引数の「文字列2」に「Sheet2」のデータ範囲を指定します。
EXACT関数の「文字列1」に「Sheet1」のデータ範囲を指定、「文字列2」に「Sheet2」のデータ範囲を指定
手入力してもいいですが、それぞれドラッグで指定すればミスが防げます。
EXACT関数でシートの範囲をドラッグで指定

計算式 =EXACT(Sheet1!A1:F25,Sheet2!A1:F25)

別シートに、指定したセル範囲の数だけ「TRUE」と「FALSE」が表示されます。一見、同じに見えるシートの不一致箇所を抽出することができますね。
EXACT関数で2つのシートを比較した結果が別シートに自動表示される

まとめ
  • EXACT(イグザクト)は文字列を比較して一致か不一致かを判定する関数です
  • EXACTの第一引数は「文字列1」。比較する元の文字列を、多くはセル参照で指定します
  • EXACTの第二引数は「文字列2」。比較する先の文字列を、多くはセル参照で指定します
  • EXACT関数は比較した文字列の一致か不一致を「TRUE」「FALSE」で返します
  • EXACT関数と比較演算子の=イコールはほぼ同じ働きをします
  • EXACT関数と比較演算子の=イコールの違いは「大文字と小文字」の判定で、EXACTは大文字と小文字を区別します
  • EXACT関数は「全角と半角」「カタカナとひらがな」を区別します
  • EXACT関数の引数には数式も指定できますが、数式そのものでなく、計算結果を比較します
  • EXACT関数は日付も比較しますが、表示形式は無視されます
  • IF関数の論理式にEXACT関数を入れ子すれば決まった文字を表示させることができます
  • スピルが使えるExcelなら、複数範囲をまとめて比較したり、2つのシートを比較したりできます
タイトルとURLをコピーしました