質問: 初めて質問させていただきます。 無知な部分もあると思いますがよろしくお願いいたします。 ◆今回やりたいこと(Excelにて) <発注管理シート>の納品希望日が2/19の場合、 <納品日一覧シート>の納品日が2/19は存在しないので、 2/19に間に合うように一番近い2/18を納品確定日に表示したい。 **<納品日一覧シート>** | A列 | B列 | C列 | | --- | --- | --- | | 1行 | 納品日 | 発注〆日 | | 2行 | 2/17 | 2/7 | | 3行 | 2/18 | 2/8 | | 4行 | 2/22 | 2/12 | | 5行 | 2/23 | 2/13 | **<発注管理シート>** | A列 | B列 | C列 | | --- | --- | --- | | 1行 | 納品希望日 | 納品確定日 | | 2行 | 2/19 | ★ | という2つのシートが存在していて、 納品確定日に実際の納品日を入れたいとなった時に、 上記の場合だと、 【〆日:2/9~2/11】 【納品日:2/19~2/21】 が存在しておらず、 <発注管理シート>の★部分が空欄になってしまいます。。。 現在、★部分には =IFERROR((VLOOKUP(B2,納品日一覧!$A$2:$C$5,1,FALSE)),"") と入力しているのですが、エラーの場合にどのように指定すればいいかわからず悩んでおります... そもそも関数が今回したいことに合致していないのでしょうか... 知識不足で申し訳ございません... どなたか知恵をお貸し頂けると幸いでございます。。。 何卒よろしくお願いいたします。
回答: こんにちは。 VLOOKUP() の第4引数をTRUEにすると、 値が見つからなかった場合に、それを超えない最小の値を返します。 ただし、検索範囲内は昇順になっている必要があります。 参考:参照範囲から検索値以下の一番近い値を求める方法(VLOOKUP関数) | Excel2016 | 初心者のためのOffice講座