• ベストアンサー

エクセル関数で検索し一致した最後の行を取得

お世話になっております。 エクセルの関数のみで、A列の中で一番最後に一致した行番号を返す方法はないでしょうか? 例)  A 1 イ 2 ロ 3 ハ 4 ニ 5 イ 6 イ 7 ロ 8 イ 9 ハ イ の場合:8行目 ロ の場合:7行目 どうぞ、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • msMike
  • ベストアンサー率20% (364/1804)
回答No.1

添附圖參照 B2: =MAX(IF($A:$A=B$1,ROW(A:A))) 【御斷はり】上式は必ず配列數式として入力の事

RYO-88
質問者

お礼

ありがとうございます。 こちらの方法で、解決できました。 画像ん添付も非常にわかりやすく役に立ちました。

その他の回答 (3)

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.4

序で乍ら…

RYO-88
質問者

お礼

ありがとうございます。 とても分かりやすいです。

  • 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

RYO-88
質問者

お礼

ありがとうございます。 エクセルも進化しているのですね。もっと勉強します。 VBAも一つの手ですよね。

  • masnoske
  • ベストアンサー率35% (67/190)
回答No.2
参考URL:
https://blog-tips.sekenkodqx.jp/2019/08/01/excel-vlookup-get-last-value00001/
RYO-88
質問者

お礼

ありがとうございます。 やはり、このやり方がベストなのですね。

関連するQ&A