プロが教えるわが家の防犯対策術!

LOOKUP関数の使用法についてお尋ねします。
LOOKUP関数の、とくに検索値が見つからない場合には、検索値未満で最大値を参照する、
という機能を使用する場合についてよく理解できていません。

FOM出版 よくわかるマスターMOS EXCEL 2013 Expert Part1にLOOKUP関数の練習問題にこのようなものがありました。

LOOKUP関数(ベクトル形式)を使って、ワークシート「利用履歴」のセル【K15】に次の条件に
該当する名前を表示
・大木花実さんがダイビングを最後に利用した日にもっとも近い日にヨットを利用した会員名を表示
・次の優先順位でセル範囲【A3:I100】を並べ替えてから行う。
・優先順位1:利用区分の昇順
・優先順位2:利用年月日の昇順
※利用履歴には利用年月日、会員番号、名前、利用区分(スポーツの名前)があります。

大木花実さんが最後に利用した日にもっとも近い日にヨットを使用した会員名を表示するというものなのですが、LOOKUP関数の検索値の性質からすると、検索値が見つからない場合、検索値未満で最大値を参照するとあり、大木花実さんが最後に利用した日以前の日付で、一番近い日付を返すということになります。
例えば、大木花見さんが最後に利用した日が11/23だとします。検索値未満で最大を参照する、
ということで11/20という値が返されたとします。しかし実際11/24にヨットを利用した人があれば、実際もっとも近い日にヨットを利用した日は11/20ではないことになります。

指定した日付にもっとも近い日付を調べたいときLOOKUP関数を使用するのは適切ではない気がするのですが、いかがなんでしょうか。
当方初心者なのもので、基本的な検索値のことなど深く理解できずにいます。
お分かりになる方ご教授くださいませ。
よろしくお願いいたします。<(_ _)>

A 回答 (2件)

LOOKUP関数を使う場合は、参照表の検索値が小大順番になっていなければなりません。


「検索値未満で最大を参照する」とは、直前の値を返す、ということです。

なお、絶対値検索の場合はこれが当てはまりません。
いろいろ使ってみる、覚えるのにはこれが重要です。
使わずに聞くだけでは、覚えられません。
    • good
    • 0
この回答へのお礼

ありがとうございますm(__)m
実際に使ってみる、大事ですね。

お礼日時:2017/04/08 14:49

練習問題としてそれを使う事が設定されているのであれば、「大木花実さんが最後に利用した日」より後にヨットを使用した会員は居ない。

という前提があるのではないでしょうか?

そもそも最も近い日が、当日でなかった場合は、1日前と1日後が共に最も近い日となる可能性があります。(2日前と2日後…等でも同様です)
この場合、別々の日が同時に該当する可能性があるので、その場合にどちらを優先させるのかを事前に決めておく必要があります。(その前提を元に式を立てるからです)
その記載がない事から、そもそも1日後以降が該当する可能性がないのではないでしょうか?ということです。

関数の使い方を覚えるには良いかもしれませんが、問題の内容に適切な式ではない。と思われますね。
    • good
    • 0
この回答へのお礼

なるほど。練習問題なのでそういう前提で出題しているというところに納得しました。
出版社が利用年月日の一覧も作成しています。
実際に、自分がLOOKUP関数を使用する場面をイメージした時に、LOOKUP関数でなくてはならない場面があるのかなあ、
と思いました。

yuji3690さま 回答ありがとうございました。
助かりました(^ ^)

お礼日時:2017/04/08 14:45

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