回答編集履歴
3
誤字修正
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
普通に「=MATCH(E1,B1:B3,0)」で2が返ってきませんか?
|
6
6
|
|
7
|
-
ワイルドカー
|
7
|
+
ワイルドカード文字が検索文字に含まれる場合`=MATCH(SUBSTITUTE(SUBSTITUTE(E1,"?","~?"),"*","~*"),B1:B3,0)`
|
8
8
|
|
9
9
|
|
10
10
|
|
2
追記:コメントを受けてワールドカード文字が検索文字列に含まれる場合の記載を追記
test
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
普通に「=MATCH(E1,B1:B3,0)」で2が返ってきませんか?
|
6
|
+
|
7
|
+
ワイルドカート文字が検索文字に含まれる場合`=MATCH(SUBSTITUTE(SUBSTITUTE(E1,"?","~?"),"*","~*"),B1:B3,0)`
|
8
|
+
|
9
|
+
|
6
10
|
|
7
11
|
※sheet1のE1に検索対象を入れています。
|
8
12
|
|
@@ -11,6 +15,8 @@
|
|
11
15
|
|
12
16
|
|
13
17
|
VBAなら`Range.Find`で`2,2`が返りませんか?
|
18
|
+
|
19
|
+
※ワイルドカード文字が検索文字列に含まれる場合は邪魔くさいので ワークシート関数のFindを使った方がいいです。
|
14
20
|
|
15
21
|
|
16
22
|
|
1
追記:VBA Range.FInd
test
CHANGED
@@ -7,3 +7,27 @@
|
|
7
7
|
※sheet1のE1に検索対象を入れています。
|
8
8
|
|
9
9
|
![イメージ説明](8519ef2bfe34f5062d858e65e5af1525.png)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
VBAなら`Range.Find`で`2,2`が返りませんか?
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
```VBA
|
18
|
+
|
19
|
+
Sub Macro1()
|
20
|
+
|
21
|
+
Dim target As Range
|
22
|
+
|
23
|
+
Set target = Range("B1:B3").Find(What:=Range("E1").Text, _
|
24
|
+
|
25
|
+
LookAt:=xlWhole, MatchCase:=True)
|
26
|
+
|
27
|
+
Debug.Print target.Row & "," & target.Column
|
28
|
+
|
29
|
+
End Sub
|
30
|
+
|
31
|
+
```
|
32
|
+
|
33
|
+
![イメージ説明](a61b411fb4645fd82b21f2e1c52a7fe0.png)
|