質問: エクセルvlookupで検査値以上の最小の値をもとめるには? 検索範囲a1:a31 検査値b1で =vlookup(b1,a1:a31,true) では、検査値以下の最大の値しか取得できなかったのですが、検査値以上の最小の値をもとめるにはどうすればいいのでしょう? (vlookup関数に限定するわけではありませんが、vlookupで出来るよと聞いたものですから・・・・)
回答: ちょっと裏技チックですが、負の数字の場合、 絶対値の関係がひっくり返る現象を利用しては どうでしょう? 0 5 10 15 ・・・ と並んでいる場合、検査値が8であれば、vlookupでは 5を返します。しかし、 -15 -10 -5 0 と並んでいる場合、検査値が-8であれば、-10が帰ってきます。 1.負の検査範囲を作る b1セルに「=-a1」を入力し、b31まで下にコピーします。 b1:b31をコピーし、「形式を選択して貼り付け」を選び、 [値(v)]を指定して、b1:b31に上書きで貼り付けます。 その後、データ並び替えで、昇順にしておきます。 2.検査値以上の最小値を検索する式 (検査値の位置をc1にした場合) =-vlookup(-c1,b1:b31,true) と入力します。