Excel - 文字列のテーブル列に値が含まれているかどうかを確認します


3

バックグラウンド

Excel 2013を使用しています。

という名前のExcelテーブルがあります。 SiteCategories以下のように、いくつかのCategory列と、それらの列にあるサイトがあります。

enter image description here

だから私たちはこれらの値に到達することができます =SiteCategories[Category1]

私はまたURLのリストを持っています - のような完全なURLを考えてください http://www.sitea.com/page/page.html

やりたいこと

URLのその巨大なリストのために、私はそれらの隣に列があることを望みます。

enter image description here

URLは正規化されていないため、大文字と小文字を区別しないようにしてください。しかし、それがより簡単になるのであれば、私はフィールドを処理するか、またはそれらをラップすることができます。 lower() 私はこのプロセスでもそれが可能になると思いますが。

私が立ち往生しているところ

1つのテキストに対して一致や検索を実行できますが、さまざまなテキストに対しては問題があります。

基本的に私が言いたいのは、与えられたカテゴリ列のテキストの一部がURL内で見つかった場合(大文字と小文字を区別しない方法で)、そのURLはそのカテゴリ内にあるということです。

しかし、ほとんどの MATCH そして SEARCH 関数は値の範囲の問い合わせを容易にサポートするようには見えません。

の逆をやりたいようです この質問 - その解決策は複数のセルでそれを見つけるために1つの用語にワイルドカードを使用しますが、私は1つの文字列に対するワイルドカードとして複数のセルのテキストを使用したい。

今やっていること

現在、私が使っている式は OR 声明はたくさんを使用しています SEARCH 以下のような式 F3 URLを持つセルです。

=OR(ISNUMBER(SEARCH("sitea.com",F3)), ISNUMBER(SEARCH("siteb.com",F3)),ISNUMBER(SEARCH("sitec.com",F3)), ISNUMBER(SEARCH("sited.com",F3)),ISNUMBER(SEARCH("sitee.com",F3))) 

しかし、どのサイトがどのカテゴリに入るかについての要件は時間の経過とともに変化するため、これは少し不適切です。それらを簡単に編集できるようにするためにそれらをテーブルに入れることができるようにしたいのですが、それでは問題です。

回答:


1

ctrl + shift + enterで入力した配列式を使用できます。検索では大文字と小文字が区別されないため、問題ありません。

=OR(IFERROR(SEARCH(SiteCategories[Category1],A2),0))

コメントのKyleのおかげで、ここではテーブルの空白行を処理するように設定されています。

=OR(IFERROR(IF(SiteCategories[Category2]<>"",SEARCH(SiteCategories[Category2],A‌​2),0),0))

いいね!配列の式を試していましたが、ラップしていません OR。私はこれを試してみるつもりですし、答えとしてそれをマークします。ありがとうございます。私は本当に助けと素敵な簡潔な式に感謝します。
SeanKilleen

私は1つの問題に遭遇しています - 空白のセルがある上記のCategory2の例でこれを実行すると、すべてに一致するようです。構造化テーブル参照を使用して、実際にデータがある列だけを取得する方法はありますか。それとも何かでそれをラップする必要がありますか?
SeanKilleen

1
@SeanKilleenこれは@ gtwebbの式で、空白を占めます =OR(IFERROR(IF(SiteCategories[Category2]<>"",SEARCH(SiteCategories[Category2],A2),0),0))
Kyle
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.