• ベストアンサー

Execl lookup の検査値についての質問です

zap35の回答

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

LOOKUP関数は表検索を行う関数の一つですが、検索対象の値(質問の例ではA列)は「昇順」に並んでいる必要があります。 もし昇順に並んでいれば、関数で指定した検索値が(質問の例では10^10)見つからない場合、A列に存在する10^10より小さい最大値を検索値と見なします。従って最終行の値を返します。10^10は「実際にはあり得ない大きな数字」として用いています ところが昇順に並んでいないときはLOOKUP関数は少し不思議な動きをします。 検索値が昇順に並んでいない場合、A列の値が昇順に並ばなくなった以降の数値を検索値として指定するとなぜか「最終行の値」を返すのです。 従って、昇順に並んでいようといまいと、十分に大きな数値を検索値として指定すれば「最終行の値」が取得できることになります。

berry_late
質問者

お礼

なるほど。とてもよくわかりました。 実は、この一番下の次(下から2番目)の値を返したかったのですが、昇順に並んでいるわけではないので、これの応用ではできなさそうですね。 さらに質問をする必要がありそうです。

関連するQ&A

  • EXCELでLOOKUPがうまくいきません。

    EXCEL2000です。解説書を見ながら、検索関数のVLOOKUPと LOOKUP関数を比較していたのですが、VLOOKUPだとうまくいくのですが、LOOKUPだと望むべき答えが出ません。D列にC列の値をA1:B4の表から参照するという簡単なものです。 この式で、単純に答え(D欄)が1、2、3、4となるべきだと思うのですが・・以下の具合です。  A B C D 1○ 1 ○ =LOOKUP(C1,$A$1:$A$4,$B$1:$B$4)答4  2× 2 × =LOOKUP(C2,$A$1:$A$4,$B$1:$B$4)答2 3△ 3 △ =LOOKUP(C3,$A$1:$A$4,$B$1:$B$4)答3 4□ 4 □ =LOOKUP(C4,$A$1:$A$4,$B$1:$B$4)答2 どこがおかしいのでしょうか?よろしくご指導ください。

  • EXCELの関数探してます、lookupのような

    A列に1,10,20,30とありB列に200,300,400,500とある場合を想定します LOOKUP関数を使い、1のときは200、10の時300,20の時400のように値を出したいとします。つまり横の値。 LOOKUP関数を使うと2,3,4,5,6,7,8や11,12,13~19などの検査値で不完全一致の場合の値を出すとき、 2,3,4,5,6,7,8のときは1の値の200がでて、11,12,13~19の時は10の値の300が出ますよね ようはその値より上の値の数字をだしてくれるんです。14なら300,26なら400,39なら500のように 質問は下の値を出してくれるLOOKUPのようなものはありませんか?14なら400,26なら500のような

  • エクセルの関数の使い方(ルックアップ?)

    エクセルの関数の使い方(ルックアップ?) 例えばシートが2枚あります。 ・1シート目 A列に 1 2 3 4 5 と並べます。 ・2シート目 A列に 3 5 と並べます。 この時、2シート目のA列に該当する数字が1シート目のA列に存在した場合、 1シート目のB列(A列の横)に○又は1を入力したいです。 どうすればできるでしょうか?

  • エクセルの関数LOOKUPなどについて

    Office2007のエクセルに関して質問です。 関数の挿入のfxを押してLOOKUP関数を入れたときに 検査値をセル指定をし、そのセルの中の数字で検索したいのですが、なぜかできません。 直接数字を入れればできるのですが、それでは関数を使う意味がないので・・・。 fxでのLOOKUPのダイアログで検査値を セル指定をした場合="数値" 直接数値を入力した場合=数値 となるので、「""」がおかしいのかと思うのですが「""」を外すこともできず困っております。 初心者の質問で恐縮ですが、お答えいただければと思います。

  • 関数や lookupで取り出した 数値 文字を 固定したい

    関数や lookupで取り出した 数値 文字を 固定したい    A 列 B列 C列    A1 5   B1 6 C1 =A1+B1(11数値)の 式を消して 11の数字を固定するには どうすれば いいでしょうか?  

  • LOOKUP関数について

    現在、次のようなエクセルのシートを作成中ですが、どうしても、上手くいかないものですから教えていただけませんでしょうか。    A    B    C    D 1 7日間  0.7  7日間  0.1 2          15日間  0.2 3          1ヶ月間  0.3 4 2ヶ月間 0.4 5          3ヶ月間  0.5 6          4ヶ月間 0.6 7          7ヶ月間 0.7 上記のシートを作成しているのですが、A1のセルに7日間と打ち込めばLOOKUP関数にて0.1とB1に出力させたいのですがどうしても、7ヶ月間の0.7が出力されるなど、上手く拾ってきてくれないのですが、関数式について教えてください。 ちなみに  =LOOKUP(A1,C1:C7,D1:D7) といった数式を入れてみております。Cの欄などは文字列に設定してみたりもしております。  

  • Excel LookUP関数のタイプ設定

    お世話になります。 エクセルで別シートにデータベースを作り、メインのシートで入力したらLookUp関数で名前を取得するように組んでいます。 このとき、入力するコードが数字4桁固定で、しかも0から始まるので文字列にし、データベースも文字列指定しているのに、正しい値を持ってきません。 どうやら、関数では数字で認識していたり、文字列になっていたり、正しい名称をもってきたり来なかったりと不安定です。 どのように設定したら良いのでしょうか、教えてください。

  • Excel関数について(lookupなど)

    A列とB列にそれぞれ商品コード(A列)、数値(B列)が入っているリストがあります。(コードと数値はそれぞれ関係があり、このコードにはこの数値、というルールがある) 1)セルD4にそのコードが入ったら、セルE10に該当する数値が入るようにしたいんです。 2)但し、セルD4に入るコードは、リストにはないコードも存在する。その場合、セルE10には何も表示させたくない(エラーも非表示にしたい) という場合、どういう関数を使えばいいのでしょうか。 1)まではLOOKUPかVLOOKUPでできるようなのですが、2)の場合の表示がうまくいきません。 説明が下手で申し訳ないのですが、どなたかお分かりになるかた教えてください。

  • エクセルのLOOKUPの簡単な質問

    エクセルのLOOKUPで    A   B      C        D 1             商品番号    商品名 2   1  りんご     3       みかん 3   2  バナナ     15       いちご 4   3  みかん     1       りんご といった表をつくったとして、A・BにLOOKUP用のリストを入れておいて、Cに番号を入力すればDに商品が表示されるようにしたいのですが その場合にDに =LOOKUP(C2,$A$2:$A$20,$B$2:$B$20) といった関数を入れて、ずーっと下のほうまでコピーすることで表を 作成できたのですが、 まだ入力していない行のDのところに「#N/A」と表示されるのを、非表示(真っ白なセルのように)することは出来ますか??

  • IF関数とLOOKUP関数の組み合わせについて

    指定したセルと等しい数値(文字列?)をLOOKUP関数を使って別シートのデータベースを検索させて、そのシートに無ければまた別のシートのデータベースを検索させるものを作りたいのですが上手くいきません。 指定したセルが空白なら空白を返すように次のような感じで作っています。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,LOOKUP(A1,シート2!A1:A15,B1:B15),LOOKUP(A1,シート1!A1:A15,B1:B15))) VLOOKUP関数でもやってみたのですがこちらも上手くいきません。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,VLOOKUP(A1,シート2!A1:B15,2,0),VLOOKUP(A1,シート1!A1:B15,2,0))) ご指摘いただければ嬉しいです。