LOOKUP関数の使い方とは?

このQ&Aのポイント
  • LOOKUP関数はエクセルの中で値を検索するための関数です。
  • LOOKUP関数を使用することで、指定した値に一致する最大の値、または最小の値を取得することができます。
  • しかし、数式の設定によっては予期しない結果が得られることがあるため、関数の使い方を注意が必要です。
回答を見る
  • ベストアンサー

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の欄などは文字列に設定してみたりもしております。  

質問者が選んだベストアンサー

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 LOOKUP関数ではなく、VLOOKUP関数を使用します。 B1に、 =IF(COUNTIF(C1:C7,A1),VLOOKUP(A1,C1:D7,2,FALSE),"") と入力します。 なお、A1の内容は、C1の内容とまったく同じでないと検索出来ません。 全角・半角の違いなども区別されますので、注意して下さい。 ちなみに、上式では見つからない場合は「""」になります。

makoteru
質問者

お礼

ありがとうございます。 早速、maruru01さんの回答の公式をそのまま、コピーして、エクセルに貼り付けて早速、試してみたら、バッチリOKでした。本当に助かりました。 また、ご教授方お願い申し上げます。

関連するQ&A

  • ExcelでLOOKUP関数がうまくいきません

    EXCELでシート間でLOOKUP関数を使って「Sheet1」に関数を入れ、 コード(C5のセル)にコードを入れたら、「Sheet2」からデータを 持ってくるというようにしたいのですが、うまくいきません。 コードに「300」といれても「003」と入れても同じものをひっぱてきます。 【A列に入れた式です】    (コード)      (A列) =IF(C5="","",LOOKUP(C5,Sheet2!$B$5:$B$20,Sheet2!$C$5:$C$20)) 【Sheet1】 コード   A     B      C      D 001   △△市  △△区  △△丁目   520   ◇◇市  ◇◇区  ◇◇丁目  ◇◇ 300   □□市  □□区  □□丁目 003   □□市  □□区  □□丁目 【Sheet2】 コード   A     B      C      D 300   ○○市 001   △△市  △△区  △△丁目 003   □□市  □□区  □□丁目 520   ◇◇市  ◇◇区  ◇◇丁目  ◇◇ あまりうまく説明できませんが、よろしくお願いします。

  • [EXCEL]LOOKUP関数の戻り値とセルの書式の関係

    現在(たぶん同じ理由で)2点ほど困っていることがあります。 以下のようにLOOKUP関数を使ってセルに値をセットしています。 <Sheet1のレイアウト> |A列|B列  |C列 |-|----|---- |a |あああ |・・・ |b |いいい |・・・ |c |    | |d |かかか |・・・ <Sheet2のレイアウト> |A列|B列                 |C列 |--|-------------------|- |a | =LOOKUP(A1,Sheet1!A:A,Sheet1!B:B) | |b | =LOOKUP(A2,Sheet1!A:A,Sheet1!B:B) | |c | =LOOKUP(A3,Sheet1!A:A,Sheet1!B:B) | まず1つめです。 今まで、Sheet1は別ブックのマクロで出力された値を[コピー]→[形式を選択してはりつけ]→[値]ではりつけていました。このときはSheet2のB3のセルにはブランクが入っていたのですが、誤ってSheet1のセルに直接値を入力したり、[F2キー]→[Enter]をしてしまったためSheet2のB3のセルにはブランクをセットしたいのに0(ゼロ)が入るようになってしまいました。 B3のセルにブランクがセットされるように戻したいのですがどうしたらよいでしょうか? 次に2つめは、 Sheet2は他の列もB列と同様の式によって値がセットされていますが、列によって右詰で表示されたり中央揃えで表示されています。 Sheet1、Sheet2ともにすべて書式は「文字列」で、 Sheet2には「右詰」「左詰」などの書式は設定されていません。これはなぜでしょうか? 1つめは、IF文でLOOKUP関数の戻り値が0だったらブランクをセットするなどに式を変更すれば解決するとは思いますが、このような式が至るところで使ってありますので式を変更するにも時間がかかるため、また今後のためにも原因と対策をしりたいと思います。どなたかわかる方がいらっしゃいましたら回答よろしくお願いします。

  • 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 どこがおかしいのでしょうか?よろしくご指導ください。

  • 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))) ご指摘いただければ嬉しいです。

  • lookup関数ですごく困っています。バグ?

    各セルに1111と打ち関数=SUM(D1:G1)で合計を出します。当然4になります。 同じようにして0.8 0.6 0.4 0.2の合計を出します。当然2になります。 つぎに =I2/I$1 と=I3/I$1で2÷4を行い、50%と出ます。最後に =LOOKUP(J2,$A$2:$A$4,$B$2:$B$4) =LOOKUP(J3,$A$2:$A$4,$B$2:$B$4)と打ち込むとCとBという風に違いが出てしまいます。なぜ?どこがいけないのでしょう。よろしくお願いします。 0%  C 50% B 80% A 1  1  1  1    4 0.8 0.6 0.4 0.2  2   50%→C 0.2 0.4 0.6 0.8  2   50%→B

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

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

  • LOOKUP関数でデータを出すには?

    初めて質問します。 まず環境はXPでEXCEL2002です。 ある店舗現場の状態データがあるのです(Sheet1) 例1)A    B   C    D   E      1 店舗名  住所  工事日 担当者 機材種類  2 A店   大阪  2/1   N村  Xタイプ 3 B店   京都  5/8   T田  Yタイプ 4 C店   兵庫  8/4   F崎  Wタイプ といった具合で、列項目は約50列、行数(店舗数)も400 あります。これがSheet1です。 ここからSheet2に 例2)A    B   C    D   E     1 店舗名  住所  工事日 担当者 機材種類  2 と作りました。さて、Sheet2のA2に店舗名を打ち込めば、 他のセル(B2~E2)にその店舗の情報を自動的に表示させたいのです。 自分なりに勉強してLOOKUP関数か!と思い、B2には =LOOKUP($A$2,Sheet1!$A2:$A4,Sheet1!C2:C4) と入れましたが、A2に入力した店舗と違うデータが返されてきます。 なにか基本的に間違ってるでしょうか? 試しに上の例を実践したらうまくいきました。 実際の店舗名はアルファベットでなく、漢字なんです。 これが原因でしょうか? どうすれば問題が解消されるでしょう? また、他にもこういう作業をする方法があるでしょうか? ヘルプなどでは、基本的に数字データのやり方などは 扱ってますが、こんな文字列データの扱い方がどうも わかりません。 ど素人質問ですいませんがよろしくねがいます。

  • LOOKUP関数について

    電車の料金表があったとします。   A   B  C  D 1    横浜 渋谷 新宿 2 大阪 100  120 150 3 梅田 120  200 250 4 京橋 150  300 400 始発を列にして所持金180円だとするとどこまで、 行くことが出来るか?という問題です。 A9=梅田 A10=180 とすると =LOOKUP(A10,OFFSET(B1,MATCH(A9,A2:A4),0,1,3),B1:D1) というところまでは分かったのですが、もしここで 駅が増えてしまった場合(始発駅でも終着駅でも)にどのように数式を変化させたらいいのか分かりません。 どなたか、この問題を解いてくださ~い。 よろしくお願いします。

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

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

  • EXCEL2000 関数の使い方

    EXCEL2000 関数の使い方についておしえてください。 (状況) 1)シート1(請求書)とシート2(名簿)があります。 シート2は 列A 列B 列C    列D No 氏名 生年月日  年齢 1 A子 H11.11.1  7 2 B男 H13.8.18  5 ..と続いています。 2)シート1のセルB3(宛名欄)にシート2の名簿の中からB列「氏名」(「氏名」という名前で定義つけてあります)をリスト表示しています。 3)セルB3にリストから選択した人物の年齢をシート2から探して年齢(列D)をシート1のセルC32に表示させたいのですが、どのような数式になるでしょうか? VLOOKUP関数を使うのかな?と思ったのですが、シートが分かれていたり、リストとの合致の定義付けがよくわかりません。 検索個所:シート1のセルB3とシート2B列の一致した値 検索範囲:シート2のB1からD35(データという名前で定義付けています) 表示させたいセル個所:シート1のC32 数式の使い方など認識がまちがっていたり、わかりにくい説明になっているかもしれませんが、どうぞよろしくお願いします。

専門家に質問してみよう