いちおうエラーチェックが甘いですが、
ユーザー定義関数を作ってみました。
例
=exVlookup("くく",A1:F4,2,2)
Function exVlookup(検索値, 範囲 As Range, 列, 範囲の幅)
Dim i, j
For i = 1 To 範囲.Rows.Count
For j = 1 To 範囲.Columns.Count Step 範囲の幅
If 範囲.Cells(i, j) = 検索値 Then
exVlookup = 範囲.Cells(i, j + 列 - 1)
Exit Function
End If
Next j
Next i
exVlookup = CVErr(5000) 'N/Aを返したいが…
End Function
ちなみに#4の方法だと、同じ値が有った時にエラーになればいいけど、ならずにでたらめの値が返る場合があります。
また、存在しない値を検索した場合もエラーにならずに、最初のセル(ああ)が返ります。
A1から始まる範囲でない場合もう一工夫必要。
お礼
お礼が遅れて申し訳ないです。 意味を飲み込もうとして頭が割れそうなのでもうしばらくお待ちを・・・