このチュートリアルでは、エクセルで文字列を大文字小文字を区別せずに比較する方法と完全一致で比較する方法を説明します。 値、文字列の長さ、または特定の文字の出現回数によって2つのセルを比較するための数式のほか、複数のセルを比較する方法についても学習します。 Excel の数式は常に完璧に正しいのですが、欠陥のあるデータがシステムに侵入したために、その結果が間違っていることがあります。 この場合、唯一の救済策は、データが正確かどうかをチェックすることです。 2 つのセルを手動で比較するのは大したことではありませんが、何百、何千ものテキスト文字列の違いを見つけるのは不可能に近いです。
このチュートリアルでは、セルの比較という退屈でエラーを起こしやすい作業を自動化する方法と、それぞれの特定のケースでどの数式を使うのがベストなのかを学びます。
- エクセルで2つのセルを比較する方法
- 複数のセルを比較する方法
- セル範囲とサンプルセルを比較する
- 文字列長によるセルの比較
- 比較をする。 3579>
エクセルで2つのセルを比較する方法
エクセルで文字列を比較する方法は、大文字と小文字を区別するかどうかによって2種類あります。大文字と小文字を区別して比較することができます。
Case-insensitive formula to compare 2 cells
Excel で大文字小文字を区別せずに 2 つのセルを比較するには、次のような簡単な数式を使用します:
=A1=B1
ここで A1 と B1 は比較しているセルです。 数式の結果はブール値 TRUE と FALSE です。
一致と相違について独自のテキストを出力したい場合は、IF 関数の論理テストに上記のステートメントを埋め込みます。 たとえば、
=IF(A1=B1, "Equal", "Not equal")
下のスクリーンショットにあるように、どちらの数式もテキスト文字列、日付、数字を同じように比較します。
Case-sensitive formula to compare strings in Excel
状況によっては、2つのセルのテキストを比較するだけではなく、文字ケースも重要であると思われることがあります。 大文字と小文字を区別したテキスト比較は、ExcelのEXACT関数を使用して行うことができます。
ここでtext1 と text2 は比較する2つのセルを示します。
文字列がセル A2 と B2 にあると仮定すると、数式は次のようになります。
=EXACT(A2, B2)
結果として、文字列が各文字のケースを含めて完全に一致する場合は TRUE、それ以外は FALSE が得られます。
EXACT 関数で他の結果を得たい場合は、IF 計算式に埋め込み、value_if_true および value_if_false 引数に独自のテキストを入力します:
=IF(EXACT(A2 ,B2), "Exactly equal", "Not equal")
次のスクリーンショットは Excel で大文字と小文字を区別して比較した結果を示しています。
How to compare multiple cells in Excel
1 行で 2 つ以上のセルを比較するには、上記の例で説明した数式を AND 演算子と併用して使用します。
Case-insensitive formula to compare more than 2 cells
結果をどのように表示するかによって、次の式のいずれかを使用します:
=AND(A2=B2, A2=C2)
=IF(AND(A2=B2, A2=C2), "Equal", "Not equal")
AND 式は、すべてのセルに同じ値が含まれている場合は TRUE、異なる値がある場合は FALSE を返します。 IF式は、入力したラベル(この例では「等しい」「等しくない」)を出力します。
以下のスクリーンショットに示すように、この数式はテキスト、日付、数値など、あらゆるデータ タイプで完全に機能します。
複数のセル内のテキストを比較する大文字/小文字判別数式
複数のストリングを互いに比較して完全に一致するか確認するには、次の数式を使用します。
=AND(EXACT(A2,B2), EXACT(A2, C2))
Or
=IF(AND(EXACT(A2,B2), EXACT(A2, C2)),"Exactly equal", "Not equal")
前の例と同様に、最初の数式は TRUE および FALSE 値を提供しますが、2 番目の数式では一致と相違について自分のテキストを表示します。
セル範囲とサンプル セルを比較する
次の例では、指定した範囲内のすべてのセルに、サンプル セルと同じテキストが含まれているかどうかを確認する方法を示しています。
Case-insensitive formula to compare cells to a sample text
文字の大小があまり重要でない場合、次の式を使用してセルをサンプルと比較することができます。
IF 関数の論理テストでは 2 つの数字を比較しています。
- 指定した範囲内のセルの総数(行数×列数)と
- サンプルセルと同じ値を含むセルの数(COUNTIF関数が返す)です。
サンプル テキストが C2 にあり、比較する文字列が A2:B6 の範囲にあると仮定すると、数式は次のようになります。 TRUE や FALSE の代わりに “All match” や “Not all match” のように出力するには、前の例で行ったように IF 関数を使用します。
=IF(ROWS(A2:B6)*COLUMNS(A2:B6)=COUNTIF(A2:B6,C2),"All match", "Not all match")
上のスクリーンショットに示すように、この数式はテキスト文字列の範囲に完全に対処しますが、数字や日付を比較するのにも使うことができます。
大文字小文字を区別してサンプル テキストと文字列を比較する数式
文字の大文字小文字が異なる場合、次の配列数式を使用してサンプル テキストと文字列を比較することができます。
ソース範囲が A2 に存在するとするとします。
=IF(ROWS(A2:B6)*COLUMNS(A2:B6)=SUM(--EXACT(C2, A2:B6)), "All match", "Not all match")
通常の Excel 数式とは異なり、行列式は Ctrl + Shift + Enter を押すことで完了します。 正しく入力されると、Excel はスクリーンショットに示すように、配列数式を {波括弧} で囲みます。
How to compare two cells by string length
時には、各行のテキスト文字列に同じ数の文字が含まれるかどうかをチェックしたいことがあるかも知れません。 この作業の計算式は非常に簡単です。 まず、LEN関数を使って2つのセルの文字列長を取得し、その数値を比較します。
比較する文字列がセル A2 と B2 にあると仮定して、次の式のいずれかを使用します。
=LEN(A2)=LEN(B2)
または
=IF(LEN(A2)=LEN(B2), "Equal", "Not equal")
すでにご存知のとおり、最初の式はブール値の TRUE または FALSE を返し、2 番目の式はあなた自身の結果を出力します。
上のスクリーンショットに示すように、数式は数値だけでなくテキスト文字列に対しても機能します。
Compare two cells by occurrences of a specific character
これは Excel の文字列比較チュートリアルの最後の例で、かなり特定のタスクに対する解決策を示すものです。 重要な文字を含む2列のテキスト文字列があるとします。 目標は、各行の 2 つのセルに指定された文字が同じ数だけ含まれているかどうかを確認することです。
状況を明確にするために、次の例を考えてみましょう。 例えば、出荷された注文(B 列)と受け取った注文(C 列)の 2 つのリストがあるとします。 各行には、特定の商品の注文が含まれており、その一意の識別子はすべての注文 ID に含まれており、列 A の同じ行にリストされています (以下のスクリーンショットを参照してください)。
この問題を解決するには、次のロジックで数式を記述します。
- まず、SUBSTITUTE 関数を使用して一意の識別子を何も置き換え:
SUBSTITUTE(A1, character_to_count,"")
- 次に、各セルに一意の識別子が何回表示されているかを計算します。 これには、一意な識別子を除いた文字列の長さを求め、それを文字列の全長から引きます。 この部分は、例えば、
LEN(cell 1) - LEN(SUBSTITUTE(cell 1, character_to_count, ""))
とLEN(cell 2) - LEN(SUBSTITUTE(cell 2, character_to_count, ""))
- 最後に、上記の部分の間に等号(=)を入れて、これら二つの数値を比較する。
LEN(cell 2) – LEN(SUBSTITUTE(cell 2, character_to_count, “”))
この例では、固有識別子がセルA2、比較する文字列がセルB2とC2にあることを示しています。 したがって、完全な数式は次のようになります。
=LEN(B2)-LEN(SUBSTITUTE(B2,$A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2,$A2,""))
この数式は、セル B2 と C2 に A2 の文字が同じ数だけ含まれていれば TRUE、そうでなければ FALSE が返されます。
=IF(LEN(B2)-LEN(SUBSTITUTE(B2, $A2,""))=LEN(C2)-LEN(SUBSTITUTE(C2, $A2,"")), "Equal", "Not equal")
上のスクリーンショットに見られるように、この数式はいくつかの追加の複雑さにもかかわらず完全に動作します。
これが、Excel で文字列を比較する方法です。 このチュートリアルで説明した数式を詳しく見るには、Excel Compare Strings Worksheetをダウンロードすることをお勧めします。 私は読んでいただきありがとうございます、そして私たちのブログで来週お会いできることを楽しみにしています。
You may also interested in
- Compare two columns in Excel for matches and differences
- How to compare two Excel worksheets for differences
- How to use logical operator to compare numbers
- 4 ways to do a case-sensitive vlookup in Excel