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

回答編集履歴

2

追記

2020/07/21 04:32

投稿

tosi
tosi

スコア553

answer CHANGED
@@ -1,2 +1,50 @@
1
1
  セルC3へこちらの関数式をコピペして、後のセルへもこのC3セルを複写して見て下さい。
2
- =VLOOKUP("*"&B4&"*",$F$3:$F$7,1,FALSE)
2
+ =VLOOKUP("*"&B4&"*",$F$3:$F$7,1,FALSE)
3
+ (追記)
4
+ ユーザー関数も作成して見ました。
5
+ 標準モジュールへ張り付けて、C3へ関数「=GetSeikyuName(B3,$B$3:$B$7,$F$3:$F$7)」を張り付け。
6
+ 後はセル複写で行くかと思います。
7
+ ```VBA
8
+ '(Test_Sample_Miniature)
9
+ Option Explicit
10
+ Function GetSeikyuName(ByRef Target As Range, ByRef Data As Range, ByRef Master As Range) As String
11
+ Application.Volatile
12
+ Dim strTarget As String
13
+ Dim strCoi3 As String
14
+ Dim varDataArray As Variant
15
+ Dim varMastArray As Variant
16
+ Dim lX As Long
17
+ '
18
+ GetSeikyuName = ""
19
+ strTarget = Target.Parent.Cells(Target.Row, Target.Column)
20
+ strCoi3 = ""
21
+ varDataArray = Data.Value
22
+ varMastArray = Master.Value
23
+ '
24
+ strTarget = Target.Value
25
+ If Len(strTarget) <= 2 Then
26
+ For lX = 1 To UBound(varDataArray, 1)
27
+ If InStr(CStr(varDataArray(lX, 1)), strTarget) <> 0 Then
28
+ If Len(CStr(varDataArray(lX, 1))) = 3 Then
29
+ strCoi3 = CStr(varDataArray(lX, 1))
30
+ Exit For
31
+ End If
32
+ End If
33
+ Next
34
+ End If
35
+ '
36
+ For lX = 1 To UBound(varMastArray, 1)
37
+ If InStr(CStr(varMastArray(lX, 1)), strTarget) > 0 Then
38
+ If strCoi3 = "" Then
39
+ GetSeikyuName = CStr(varMastArray(lX, 1))
40
+ Exit For
41
+ Else
42
+ If InStr(CStr(varMastArray(lX, 1)), strCoi3) = 0 Then
43
+ GetSeikyuName = CStr(varMastArray(lX, 1))
44
+ Exit For
45
+ End If
46
+ End If
47
+ End If
48
+ Next
49
+ End Function
50
+ ```

1

修正

2020/07/21 04:32

投稿

tosi
tosi

スコア553

answer CHANGED
@@ -1,2 +1,2 @@
1
1
  セルC3へこちらの関数式をコピペして、後のセルへもこのC3セルを複写して見て下さい。
2
- =VLOOKUP("*"&B4&"*",$E$3:$E$7,1,FALSE)
2
+ =VLOOKUP("*"&B4&"*",$F$3:$F$7,1,FALSE)