セル内のテキストと複数の値を正確に一致させる

セル内のテキストと複数の値を正確に一致させる

カンマで区切られた値を持つ列があり、特定のテキストが存在するかどうかを調べる必要があります。問題は、FIND() 関数とそれに関連する関数には正確なテキストを一致させる方法がないため、数字 1 を検索すると、関数は 11 と一致することです。どのようなアイデアでも歓迎します。

前もって感謝します。

ここに画像の説明を入力してください

答え1

値はコンマで区切られているため、コンマも検索します (検索する文字列の先頭と末尾にコンマを追加します)。

eg:   =FIND(","&F1&",",","&A1&",")  

答え2

セル内で 1 ではなく 11 を検索するには、正規表現を使用できます。

カンマ区切りの値を使用しているため、正規表現は次の 3 つの条件に一致する必要があります。

  • 1,テキストの先頭(^アンカー)、または
  • ,1,テキスト内のどこにでも、または
  • ,1テキストの末尾($アンカー)。

非常に包括的な情報が掲載されていますこのStack Overflowの回答Excel でこれを行う方法を説明します。

概要としては、正規表現ライブラリへの参照を追加し、正規表現のカスタム関数を記述する必要があります。その後、 などの組み込み Excel 関数を使用するのと同じように、ワークシートの数式でカスタム関数を使用できるようになりますFIND()

答え3

フォーマットが示したとおりであれば、次の数式を試すことができます。

=IF(VALUE(LEFT(D4,FIND(",",D4,1)-1))=E4,"left",IF(VALUE(RIGHT(D4,LEN(D4)-FIND(",",D4,1))) = E4,"right",""))

答え4

このセル内のエントリ数が既知の最大値(たとえば 5)を下回ると合理的に予想でき、エントリが例(11,13)のような数字で構成されていると仮定します。

  1. 列を5つの新しい列に分割し、それぞれに2つのカンマで囲まれたテキストを含めます。
  2. テキストから数字を作成する
  3. これで、数値と数値を比較できます。例のように、E が元の列であると仮定します。

最初のヘルパー列の数式は次のようになります。

=LEFT(E5;FIND(",",E5)-1)

2 番目のヘルパー列の数式は次のようになります。

=MID(E5;FIND(",";E5)+1;FIND(",";E5;FIND(",";E5)+1)-FIND(",";E5)-1)

等々。

関連情報