teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード追記

2021/12/07 23:50

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -7,4 +7,30 @@
7
7
  $C$2:$C$100 は条件値の範囲
8
8
 
9
9
  古いバージョンなら、CTRL+SHIFT+ENTER で配列数式にしたらいけるかも知れない。
10
- (環境がないので確認はしてない。)
10
+ (環境がないので確認はしてない。)
11
+
12
+ 最近のバージョンなら下記でもいける。
13
+ ```EXCEL
14
+ =XLOOKUP(1,COUNTIF(A2,"*"&$C$2:$C$100&"*"),$C$2:$C$100,"",2)
15
+ ```
16
+
17
+ ---
18
+
19
+ VBAのサンプル
20
+ ```vba
21
+ Private Sub ExtractKeyword()
22
+ Dim rng As Range
23
+ Set rng = Range("A1").CurrentRegion '表範囲
24
+ Set rng = Intersect(rng, rng.Offset(1)) '見出し行を除く
25
+ Dim c As Range
26
+ For Each c In rng.Columns(1).Cells
27
+ Dim keyword As Range
28
+ For Each keyword In rng.Columns(3).Cells
29
+ If c Like "*" & keyword.Value & "*" Then
30
+ c.Offset(, 1).Value = keyword.Value
31
+ Exit For
32
+ End If
33
+ Next
34
+ Next
35
+ End Sub
36
+ ```