- ベストアンサー
エクセル関数で検索し一致した最後の行を取得
お世話になっております。 エクセルの関数のみで、A列の中で一番最後に一致した行番号を返す方法はないでしょうか? 例) A 1 イ 2 ロ 3 ハ 4 ニ 5 イ 6 イ 7 ロ 8 イ 9 ハ イ の場合:8行目 ロ の場合:7行目 どうぞ、よろしくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (3)
- msMike
- ベストアンサー率20% (364/1804)
回答No.4
- imogasi
- ベストアンサー率27% (4737/17069)
回答No.3
エクセルの最新バージョンではXMATH関数ができたようだ。 Googleで「エクセル Xmatch 関数」で照会のこと。 http://officetanaka.net/excel/function/function/xmatch.htm ほか。 それ以外では、下記私製関数を作る手もある。 例データ A1;B10 コード 値 a 1 a 2 d 3 a 4 s 5 d 6 f 7 a 8 例 A列がdである行(下の方から)探し、B列の値を採る。 =INDEX(B1:B10,xmatch("d",$A$1:$A$10,0,-1)) で 6 式の中の-1が、下から(Revers逆のfind)を指示する。 -- 私製関数は標準モジュールに Function Rmatch(a, b As Range, c, d) lr = b.Cells.Count For i = lr To 1 Step d If Cells(i, "A") = a Then Rmatch = i Exit Function End If Next i End Function
質問者
お礼
ありがとうございます。 エクセルも進化しているのですね。もっと勉強します。 VBAも一つの手ですよね。
- masnoske
- ベストアンサー率35% (67/190)
回答No.2
質問者
お礼
ありがとうございます。 やはり、このやり方がベストなのですね。
お礼
ありがとうございます。 こちらの方法で、解決できました。 画像ん添付も非常にわかりやすく役に立ちました。