目次
テキストのリストがあり、そのリストに基づいてセルを検索して値を返したい場合、Excelはそのための簡単な方法を提供していないため、数式を作成する必要があります。 この記事では、この問題を取り上げ、この操作を実行する5種類の数式を提供しましたので、状況に応じて最適なものを選択し、セルに特定のテキストが含まれていれば値を返すことができます。をリストから選択します。
練習用ワークブックをダウンロードする
今回使用したワークブックは、以下のボタンからダウンロードできますので、ご自身で練習してみてください。
If Cell Contains Text from List.xlsx
本記事で使用する関数の紹介
ここで使った計算式は、次のような関数を使う。
- COUNTIFS機能。
この関数は、複数の条件に一致するセルを数える。 の構文は以下の通り。 COUNTIFS機能 は以下の通りです。
=COUNTIFS (範囲1, 基準1, [範囲2], [基準2], ...)
- レンジ1 - 評価する第1レンジ
- クライテリア1 - 第1レンジで使用する基準です。
- range2 [オプション]。 2番目のレンジは、レンジ1と同じように動作します。
- クライテリア2 [オプション]です。 第2レンジで使用する基準。 この機能では最大127個まで使用可能 範囲と基準ペア .
- TEXTJOIN機能。
この関数は、テキスト値をデリミタで結合する。 の構文は以下のとおりである。 TEXTJOIN機能 は以下の通りです。
=TEXTJOIN (デリミタ、ignore_empty、text1、[text2]、・・・)
- のデリミタです。 この関数が結合しようとするテキスト間の区切り文字。
- ignore_empty。 この引数は、関数が空のセルを無視するか否かを指定する。
- text1: 1番目のテキスト値(または範囲)。
- text2 [オプション]。 2番目のテキスト値(または範囲)。
- MATCH関数です。
この関数は、配列中のある項目の位置を取得します。 の構文は以下のとおりです。 MATCH機能 は以下の通りです。
=MATCH (lookup_value、lookup_array、[match_type])
- lookup_value。 でマッチする値。 ルックアップ_アレイ .
- lookup_array。 セルの範囲、または配列の参照。
- match_type [オプション]。 1 = 完全一致または次善の策、0 = 完全一致、-1 = 完全一致または次善の策。 デフォルトでは、match_type=1 です。
- INDEX機能。
この関数は、位置情報をもとにリストやテーブルの値を取得します。 の構文は次のとおりです。 INDEX機能 は以下の通りです。
=INDEX (array, row_num, [col_num], [area_num])。
- の配列になります。 セルの範囲、または配列の定数。
- row_num。 リファレンス内の行位置。
- col_num [オプション]。 : 参照先における列の位置。
- area_num [オプション]。 使用すべきリファレンスの範囲。
- IFERROR関数です。
この関数は、エラーをトラップして処理します。 の構文は以下のとおりです。 IFERROR関数 は以下の通りです。
=IFERROR (value, value_if_error)
- の値を設定します。 エラーを確認するための値、参照、または式。
- value_if_error とする。 エラーが発生した場合に返す値。
- SEARCH機能。
この関数は、文字列中のテキストの位置を取得します。 の構文は以下のとおりです。 SEARCH機能 は以下の通りです。
=SEARCH (find_text, within_text, [start_num])
- find_text この引数は、検索するテキストを指定します。
- within_textです。 これは、テキストを見つける場所を指定します。
- 開始番号 [オプション]です。 これにより、指定した文字列のどの位置からカウントするかを指定します。 オプションで、デフォルトは左から1番目です。
Excelでセルにリストの特定のテキストが含まれている場合に値を返す5つの公式
このデータセットで実例を紹介することを試みる。 ここでは、いくつかの飲料を表現している。 チップス , 冷たい飲み物 そして 穀類 はこのデータセットにおける飲料の3つのカテゴリーである。 という1つのカラムには すべての製品 というように、飲料の名前とカテゴリーが連動しています。 このうち、2つのカテゴリーをご紹介します。 チップス と 冷たい飲み物 もあります。 リスト の欄をご覧ください。 リスト の欄には、希望する出力が2番目の欄に表示されます。
COUNTIF、IF & OR関数を組み合わせて、セルにリストからのテキストが含まれている場合の値を返したい
これは、マッチング後のセル全体の値を返したい場合に最も便利な数式です。
のセル値を取得しています。 製品情報 にマッチしていた。 リスト の列の基準で、それを見せました。 そのリストをもとにした製品 の欄があります。
計算式は次のとおりです。
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
フォーミュラの内訳
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
ここでは アスタリスク記号 ( * はワイルドカード文字で、" "を検索します。 チップス " と "Cold Drinks" の部分文字列を含む。 セルB5 というのは "
ラッフルズ - チップス
"
の文字列を表示します。
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*))), B5, "")
があります。 COUNTIF は、部分文字列が一致するごとに 1 を返しました。 "
チップス
"
があります。 セルB5 を返します。 1:0 }.
=if(or({1;0})), b5, "")
があります。 オア 関数は 真 引数のいずれかが 真 この場合、1(1)=1(1)となります。 真 .
=IF(TRUE, "Ruffles - Chips", "")
として イフ 関数の値は 真 の場合、最初の引数が返され、それが目的の出力となる。
最終 出力 : ラッフルズ - チップス
注
ここでは、マッチしたセルを表示していますが イフ の機能を、希望の出力で出力することができます。
=IF(OR(COUNTIF(B5, "*"&$E$5:$E$6& "*")),TRUE,FALSE)
続きを読む セルに単語が含まれている場合、Excelで値を割り当てる(4つの数式)
2.IF-ORとSEARCH関数の組み合わせで、複数の条件を指定して値を返す
のセル値を取得しています。 製品情報 にマッチしていた。 リスト の列の基準で、それを見せました。 そのリストをもとにした製品 の欄があります。
計算式は以下の通りです。
=if(or(isnumber(search($e$5,b5)),isnumber(search($e$6,b5))),b5,"")
フォーミュラの内訳
=if(or(isnumber(search($e$5,b5)),isnumber(search($e$6,b5))),b5,"")
があります。 検索 の値を検索します。 リスト 欄外 セルB5 ... For " チップス 「と返されました。 11 は,部分文字列の開始位置である。 冷たい飲み物 というエラーが返ってきました。
=if(or(isnumber(11),isnumber(search(#value))),b5,"")
があります。 ISNUMBER 変換された関数 11 に 真 の値と誤差を FALSE の値を設定します。
=if(or(true,false)),b5,"")である。
があります。 オア 関数は 真 引数のいずれかが 真 があるため。 真 引数で指定された場合、その引数に加え 真 の値を設定します。
=IF(TRUE, "Ruffles - Chips",")
として イフ 関数の値は 真 の場合、最初の引数が返され、それが目的の出力となる。
最終成果物:ラッフルズ・チップス
注
- ここでは、マッチしたセルを表示させていますが、任意の出力を表示するには イフ の機能を、希望の出力で出力することができます。
=if(or(isnumber(search($e$5,b5)),isnumber(search($e$6,b5))),1,0)
- この式の主な利点は、配列式でないことですが、多くのセルがある場合はお勧めできません。 リスト のすべてのセルを入力しなければならないので リスト を手動で行う。
- 大文字・小文字を区別する場合は、以下の計算式に基づき FIND機能 の代わりに 検索 関数を使用します。
=if(or(isnumber(find($e$5,b5)),isnumber(find($e$6,b5))),b5,"")
続きを読む Excel セルにテキストが含まれている場合、値を返す(8つの簡単な方法)
類似の読み物。
- エクセルでセルに特定の文字列が含まれている場合に合計する方法(6つの方法)
- Excelでセルに単語が含まれている場合にVLOOKUPを使用する
- Excelの範囲内のテキストを検索する方法 & セル参照を返す (3つの方法)
3.リストからの文字列があるセルにTEXTJOIN式を使用して別のセルの値を返す
のどの文字列を表示するかを指定する場合に便利な式です。 リスト をマッチングさせました。
ここでは、セルの値を リスト と一致する欄があります。 製品 からMatchedな値に見せました。 リスト の欄があります。
計算式は次のとおりです。
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"), $E$5:$E$6,""))
フォーミュラの内訳
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5, "*"&$E$5:$E$6& "*"),$E$5:$E$6,""))
ここでは アスタリスク記号 ( * はワイルドカード文字で、" "を検索します。 チップス と、セルB5内の "Cold Drinks "の部分文字列は""である。 ラッフルズ - チップス " の文字列を表示します。
TEXTJOIN(", ", TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
があります。 COUNTIF は、部分文字列が一致するごとに 1 つずつ返します。 チップス " は セルB5 を返します。 1:0 }.
textjoin(", ",true,if({1;0},$e$5:$e$6,")))。
があります。 イフ 関数が返したのは、" チップス 引数の最初の値だけが1であるため、"値 "である。 真 .
TEXTJOIN(", ",TRUE,{"チップス";""}")
があります。 テキストジョイン の値が1つだけなので、この関数では何もしていません。 リスト もしマッチする値が多ければ、カンマ(,)を区切り文字としてすべての値を返したでしょう。
最終成果物:チップ
続きを読む セルにテキストが含まれている場合、Excelで別のセルにテキストを追加する
4.セルに特定の文字列が含まれている場合の値を返すINDEX MATCH式を使用する
の代わりとなるものです。 テキストジョイン のどの文字列を含むかも表示されます。 リスト をマッチングさせました。
ここでは、セルの値を リスト と一致する欄があります。 製品 からMatchedな値に見せました。 リスト の欄があります。
計算式は以下の通りです。
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6& "*"), 0)),""")
フォーミュラの内訳
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5, "*"&$E$5:$E$6& "*"),0)),""")
ここでは アスタリスク記号 ( * はワイルドカード文字で、" "を検索します。 チップス " と " 冷たい飲み物 " 内の部分文字列 セルB5 というのは、" ラッフルズ - チップス " の文字列を表示します。
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),""")
があります。 COUNTIF は、部分文字列が一致するごとに 1 つずつ返します。 チップス " は セルB5 を返します。 1:0 }.
iferror(index($e$5:$e$6,match(1,{1;0}),0)),"")
があります。 MATCH の値は1つだけなので、関数は1を返しました。 チップス " が一致した。
iferror(index($e$5:$e$6,1),"")
があります。 INDEX 関数が返した" チップス " の値であったので リスト の配列になります。
IFERROR("チップス",")
ここでは イフエラー 関数は,一致するものがない場合に発生するエラーを処理するために使用される。
最終成果物:チップ
注
ここでは、マッチしたセルを表示していますが イフ の機能を、希望の出力で出力することができます。
続きを読む Excelの数式 If Cell Contains Text Then Return Value in Another Cell
5.IFとTEXTJOINを使ったEXACT関数の適用
ここでは、List列から1つのメンバーでセル値を取得し、この値をProductとマッチングさせ、マッチした値を1つのセルに表示させるという、異なる状況での別の解決策です。
計算式は次のとおりです。
=textjoin(", ",true,if(exact(c5:c14,$f$5),b5:b14,"))。
フォーミュラ・ブレークダウン :
exact(c5:c14,$f$5)です。
のどの値かをチェックする部分です。 レンジC5:14 マッチする セルF5 と返す 真 と FALSE .
if(exact(c5:c14,$f$5),b5:b14,"")
この部分は、次のような名前を返します。 真 .
textjoin(", ",true,if(exact(c5:c14,$f$5),b5:b14,"))。
最後に、これは各名の後にカンマを付けて、すべての名前を結合します。
クイックノート
この式はすべて(2番目を除いて)配列式です。 つまり、この式で Ctrl+Shift+Enter を押すだけでなく 入力 ボタンでこの数式を入力できます。 しかし、あなたが オフィス365 を押すだけで、適用できます。 入る。
結論
今回は、セルに特定の文字列が含まれている場合に値を返す数式を、さまざまなケースで絞り込んでみました。 解決策が見つかったでしょうか? ご意見、ご質問などありましたら、コメントをお寄せください。 また、当社の ブログ をご覧ください。