私が今式で使用しているのは次のものです:
=IF(E6="Mix Design Gr S","By Mix Design","")&IF(E6="R-Value","By Soils","")&IF(E6="PS Package","By Soils","")
「Mix Design Gr S」ではなく「Mix」など、セル E6 内の部分的なテキストのみを検索する方法はありますか?
答え1
私は、あなたが尋ねている数式の部分(最初の IF テスト)だけに焦点を当てます。
キーワードを使用した部分テキスト
部分的なテキストが一意の単語または文字列である場合は、その存在を確認できます。Excel には「CONTAINS()」関数はありませんが、ネストすることで同等の機能を実行できます。
=IF(ISERROR(SEARCH("mix",E6)),"","By Mix Design")
SEARCH は、E6 でターゲット テキスト (大文字と小文字は区別されません) を検索します (説明のために「mix」に小文字を使用しました)。見つからない場合は、エラーが返されます。ISERROR を使用してこれをテストすると、「contains」のロジックが逆になるため、True と False の結果を逆にしました。
大文字と小文字を区別するテストを行う場合は、SEARCH ではなく FIND を使用します。
位置に基づく部分テキスト
完全性のために、コメントでエンジニア トーストが素晴らしい点を指摘したので、ここに追加します。最初の単語 (またはいくつかの文字) が一意である場合は、それらの文字をテストできます。大文字と小文字を区別するテストを行うには、実際の文字をテストします。
=IF(LEFT(E6,3)="Mix","By Mix Design","")
データ内で大文字と小文字が一貫していない可能性がある場合は、特定の大文字と小文字に強制されている文字に対してテストします。
=IF(UPPER(LEFT(E6,3))="MIX","By Mix Design","")
さらに、念のため、部分的なテキストが常に文字列内の特定の位置に出現する状況であれば、文字列内のどこでもなくその位置を探すことで、より正確なテストを行うことができます。キーワードが「Design」で、常に文字列の 5 番目の文字位置から始まると仮定すると、次のように使用できます。
=IF(MID(E6,5,6)="Design","By Mix Design","")
データに矛盾がある場合 (文字が欠落していたり、余分なスペースがあるためにキーワードが 5 番目の位置から始まらないなど)、テストは失敗します。SEARCH/FIND ソリューションは、キーワードの位置が重要ではないという点で、より寛容です。