普通にVLOOKUPでは一番最初にマッチした値となります。
処理的には重くなるので大きなデータでは使えませんが、配列数式を使えば一番最後の値を取得することは可能です。
例えば次ぎのようなグラフならば
A | B | |
---|---|---|
1 | 日付 | 残高 |
2 | ||
3 | ||
4 | ||
5 | ||
6 |
例えば、調べる日付をC1にいれて
=INDEX(B:B,LARGE(IF(A2:A6=C1,ROW(A2:A6),0),1))
を入れてCtrl+Shift+Enterで{}で囲って配列数式にすることで残高を取得できます。
普通にVLOOKUPでは一番最初にマッチした値となります。
処理的には重くなるので大きなデータでは使えませんが、配列数式を使えば一番最後の値を取得することは可能です。
例えば次ぎのようなグラフならば
A | B | |
---|---|---|
1 | 日付 | 残高 |
2 | ||
3 | ||
4 | ||
5 | ||
6 |
例えば、調べる日付をC1にいれて
=INDEX(B:B,LARGE(IF(A2:A6=C1,ROW(A2:A6),0),1))
を入れてCtrl+Shift+Enterで{}で囲って配列数式にすることで残高を取得できます。
ありがとうございます。確かに動きましたが、ちょっと重いですね^^;
でもこれを参考にIndex関数とcountif関数とmatch関数で同様のことが実現できました。日付がシリアル値でなかったもので・・・
その列の中身が1から31までの数値ではなく
日付型(書式設定で日だけを表示)であるならば
LOOKUPを用いるかVLOOKUPの第四引数をTRUEにしてみてください
id:SALINGER さんからコメントいただき、取り消し線を入れました
ありがとうございます。確かに動きましたが、ちょっと重いですね^^;
でもこれを参考にIndex関数とcountif関数とmatch関数で同様のことが実現できました。日付がシリアル値でなかったもので・・・