重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

VBはまだ勉強出来ていないため 関数でお聞きしたい事です
A1に入力した 日にちに対して 
日付一覧(仮に B1~B25 4/18 4/30 5/25 6/20・・・)より
一番近い日 (但し 過ぎた日は 対象外)を A2に表示したい
VLOOKUPで 試しましたが すでに過ぎた日が 表示される為困っています
宜しくお願い致します

A 回答 (3件)

日付が昇順で並んでいても、VLOOKUP(TRUE型)では、検索値(A1の日付)を超えたデータの手前(つまりA1より前の日)が表示されます。



対策として思い浮かんだのは、
B列が昇順であり、
B列のデータは同じものが複数存在しない、
という前提ですが、

①作業列を使用できるのであれば、
その行の1つ下の日付を表示する列を作り、
VLOOKUPでこちらの列のデータを表示させる。

②MATCHによってVLOOKUPで表示された日付の位置(行番号)を特定し、
その位置+1の行番号のセルのデータをINDIRECTによって取得する。

の2つの方法です。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます
関数も 簡単な処理しか解らない初心者なので
2通りの回答 助かりました 
参考にさせて頂きます

お礼日時:2017/04/21 00:48

こんばんは!



A2セルに
=MAX(IF(B1:B25<=A1,B1:B25))

配列数式ですので、Ctrl+Shift+Enterで確定してください。
※ エラー処理はしていません。m(_ _)m
    • good
    • 0
この回答へのお礼

回答ありがとうございます
関数も 初心者に毛が生えた程度なので
実際の数式を 記入して頂いて感謝しています
ありがとうございました

お礼日時:2017/04/21 00:45

完全一致では無く近似一致ですね?


この場合には検索キーを昇順に並べて置かないと予期しない動きになります。

日付一覧を、日付をキーにして昇順に並べ替えてから行なえば、過ぎない1番近い日が求まります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
大変参考に させて頂きました
ありがとうございます

お礼日時:2017/04/21 00:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!