【会員アンケートご協力のお願い】抽選で計5名様に役立つ書籍をプレゼント!

Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 11 Home : Excel 2021)
キーワードから情報を検索(抽出)したい【テーブル使用】
投稿日時: 24/11/17 03:13:18
投稿者: Hibiscus

別のテーブルにあるキーワードリストのキーワードが含まれるものを検索して、
結果を表示したいです。
"文字列が一致するもの"だと、if関数やXlookupなどでできると思うのですが、
"リストにある文字を含むもの"という検索の仕方がわかりません。
 
例えば、テーブル1に一覧表があり、B列(講座名)の中に別のテーブル(キーワードリスト)の
キーワードが含まれていたら、『種類』をC列に表示させたいです。
テーブル1のC2に入力する数式を教えていただきたいです
以下3パターンのキーワードリストそれぞれの場合の、数式が知りたいです。
テーブル1の内容も、キーワードリストのキーワードも随時増えていきます。
なにとぞ宜しくお願いいたします。
 
テーブル1:講座一覧

	A	B	C
1	曜日	講座名	種類
2	月曜日	はじめてのパソコン	
3	月曜日	英会話入門	
4	月曜日	大人のためのピアノ講座	
5	火曜日	Excel入門	
6	火曜日	シャンソンで覚えるフランス語	
7	火曜日	初めてのバイオリン	
8	水曜日	Word入門	
9	水曜日	初級中国語講座	
10	水曜日	あの曲をギターで弾いてみよう	
11	木曜日	文書をPDFにしてみよう	
12	木曜日	ドラマで韓国語を覚えよう	
13	木曜日	フラダンス	
14	金曜日	はじめての英語	
15	金曜日	カラオケに行こう	
16	金曜日	Outlookでメールを送ろう	
17	土曜日	初心者のためのプログラミング	
18	土曜日	はじめてのイタリア語	
19	土曜日	レコードでクラシックを聴こう	
20	日曜日	中級Excel関数講座	
21	日曜日	はじめてのドイツ語	
22	日曜日	ギター入門
    
 
【パターン1】
テーブル2:キーワードリスト@
A1が表示したい『種類』で、2行目以下がキーワードです
講座名に2行目以下のキーワードを含む場合はC列に「パソコン」、含まない場合は「該当なし」
	A	
1	パソコン	
2	Excel	
3	Word	
4	Outlook	
5	プログラミング	
6	パソコン	
7	PDF	

 
【パターン2】
テーブル3:キーワードリストA        
A列がキーワードでB列が種類です
講座名にキーワードを含む場合は種類を表示、含まない場合は「該当なし」
	A	B
1	キーワード	種類
2	Excel	パソコン
3	Word	パソコン
4	Outlook	パソコン
5	プログラミング	パソコン
6	パソコン	パソコン
7	PDF	パソコン
8	英語	語学
9	中国語	語学
10	韓国語	語学
11	フランス語	語学
12	イタリア語	語学
13	ドイツ語	語学
14	英会話	語学
15	ピアノ	音楽
16	ギター	音楽
17	バイオリン	音楽
18	クラシック	音楽
19	洋楽	音楽
20	邦楽	音楽
21	演歌	音楽

 
【パターン3】
テーブル4:キーワードリストB    
1行目がテーブル1のC列に表示したい『種類』、2行目以下がキーワードです        
	A	B	C
1	パソコン	語学	音楽
2	Excel	英語	ピアノ
3	Word	中国語	ギター
4	Outlook	韓国語	バイオリン
5	プログラミング	フランス語	クラシック
6	パソコン	イタリア語	洋楽
7	PDF	ドイツ語	邦楽
8		英会話	演歌

 
【パターン1】の場合の希望する結果は、
	A	B	C
1	曜日	講座名	種類
2	月曜日	はじめてのパソコン	パソコン
3	月曜日	英会話入門	該当なし
4	月曜日	大人のためのピアノ講座	該当なし
5	火曜日	Excel入門	パソコン
6	火曜日	シャンソンで覚えるフランス語	該当なし
7	火曜日	初めてのバイオリン	該当なし
8	水曜日	Word入門	パソコン
9	水曜日	初級中国語講座	該当なし
10	水曜日	あの曲をギターで弾いてみよう	該当なし
11	木曜日	文書をPDFにしてみよう	パソコン
12	木曜日	ドラマで韓国語を覚えよう	該当なし
13	木曜日	フラダンス	該当なし
14	金曜日	はじめての英語	該当なし
15	金曜日	カラオケに行こう	該当なし
16	金曜日	Outlookでメールを送ろう	パソコン
17	土曜日	初心者のためのプログラミング	パソコン
18	土曜日	はじめてのイタリア語	該当なし
19	土曜日	レコードでクラシックを聴こう	該当なし
20	日曜日	中級Excel関数講座	該当なし
21	日曜日	はじめてのドイツ語	該当なし
22	日曜日	ギター入門	該当なし

で、
【パターン2】と【パターン3】の希望する結果は
	A	B	C
1	曜日	講座名	種類
2	月曜日	はじめてのパソコン	パソコン
3	月曜日	英会話入門	語学
4	月曜日	大人のためのピアノ講座	音楽
5	火曜日	Excel入門	パソコン
6	火曜日	シャンソンで覚えるフランス語	語学
7	火曜日	初めてのバイオリン	音楽
8	水曜日	Word入門	パソコン
9	水曜日	初級中国語講座	語学
10	水曜日	あの曲をギターで弾いてみよう	音楽
11	木曜日	文書をPDFにしてみよう	パソコン
12	木曜日	ドラマで韓国語を覚えよう	語学
13	木曜日	フラダンス	該当なし
14	金曜日	はじめての英語	語学
15	金曜日	カラオケに行こう	該当なし
16	金曜日	Outlookでメールを送ろう	パソコン
17	土曜日	初心者のためのプログラミング	パソコン
18	土曜日	はじめてのイタリア語	語学
19	土曜日	レコードでクラシックを聴こう	音楽
20	日曜日	中級Excel関数講座	語学
21	日曜日	はじめてのドイツ語	語学
22	日曜日	ギター入門	音楽

です。よろしくお願いいたします。

回答
投稿日時: 24/11/17 07:58:02
投稿者: んなっと

                B     C     D     E
 1            講座名   種類2   種類3   種類4
 2      はじめてのパソコン パソコン パソコン パソコン
 3          英会話入門 該当なし   語学   語学
 4    大人のためのピアノ講座 該当なし   音楽   音楽
 5           Excel入門 パソコン パソコン パソコン
 6 シャンソンで覚えるフランス語 該当なし   語学   語学
 7      初めてのバイオリン 該当なし   音楽   音楽
 8           Word入門 パソコン パソコン パソコン
 9        初級中国語講座 該当なし   語学   語学
10 あの曲をギターで弾いてみよう 該当なし   音楽   音楽
11     文書をPDFにしてみよう パソコン パソコン パソコン
12   ドラマで韓国語を覚えよう 該当なし   語学   語学
13          フラダンス 該当なし 該当なし 該当なし
14        はじめての英語 該当なし   語学   語学
15       カラオケに行こう 該当なし 該当なし 該当なし
16    Outlookでメールを送ろう パソコン パソコン パソコン
17 初心者のためのプログラミング パソコン パソコン パソコン
18     はじめてのイタリア語 該当なし   語学   語学
19 レコードでクラシックを聴こう 該当なし   音楽   音楽
20       中級Excel関数講座 パソコン パソコン パソコン
21      はじめてのドイツ語 該当なし   語学   語学
22          ギター入門 該当なし   音楽   音楽
 
C2
=IF(COUNT(FIND(テーブル2,[@講座名])),テーブル2[#見出し],"該当なし")
D2
=XLOOKUP(0,0/FIND(テーブル3[キーワード],[@講座名]),テーブル3[種類],"該当なし")
E2
=LET(a,テーブル4,b,テーブル4[#見出し],
c,AGGREGATE(15,6,COLUMN(a)/(FIND(a,[@講座名])>0)/(LEN(a)>0),1),
IFERROR(XLOOKUP(c,COLUMN(b),b),"該当なし"))
 
 
※365なら
 
E2
=XLOOKUP(TRUE,BYCOL(テーブル4,LAMBDA(c,COUNT(FIND(c,[@講座名])/LEN(c))>0)),テーブル4[#見出し],"該当なし")

回答
投稿日時: 24/11/17 08:31:49
投稿者: んなっと

複数該当する可能性がある場合は
 
          B     C       D
1       講座名   種類2     種類3
2  Excelで英会話学習 パソコン パソコン,語学
 
D2
=TEXTJOIN(",",,FILTER(テーブル3[種類],ISNUMBER(FIND(テーブル3[キーワード],[@講座名])),"該当なし"))

投稿日時: 24/11/17 12:00:13
投稿者: Hibiscus

んなっと 様
 
早々のご回答ありがとうございます。
全て上手く表示できました!!
複数該当の場合までご回答いただき助かりました。
 
E2の数式については正直まだよく理解できていないですが、
じっくり考えていこうと思います。
またよろしくお願いいたします。