エクセルで指定した数値や文字列のセルを発見できるのは、MATCH関数(VLOOKUP関数)ぐらいしかなく、それは
・同一列内
・指定行(普通は第1行)から最初のものだけ
という制約(そのほかの良い関数が無い)があります。
本質問例では注記が無いが、2はA列で複数出現すると思われる。その場合最も行数的に近いセルを問題にせよ、ということだろうが、A6を起点にリバースMatch的な関数は無い。(参考 言語によっては文字列内ですが、InstrRev関数などがある)
だから難物。
ーーー
ユーザー関数を作ると出来るかもしれない、がVBAの経験あるかな。
ーー
例データ
A列入力 B列=関数の結果
1 F
2 F
3 F
2 2
2 1
11 F
1 6
1 1
2 4
3 7
4 F
5 F
2 4
3 4
1 7
ーーー
B1に式 =IF(A1="","",revf(A1))
を入れて、下方向に式を複写。
ユーザー関数定義は
標準モジュールに
Function revf(a)
For i = a.Row() - 1 To 1 Step -1
If Cells(i, "A") = a.Value Then
revf = a.Row - i
Exit Function
End If
Next
revf = "F"
End Function
Fは初出の印(空白でも何でも文字列など指定して良い)。
revf = a.Row - i
はrevf = a.Row - i-1にするかは好みで決めてください。
ーーー
この質問は過去にもあったような気がするが。
お礼
回答ありがとうございます。 とても参考になります。 しかし、エクセルは難しいですね。