• ベストアンサー

エクセルのlookup関数での#N/Aがでる理由

数式を使用してX1の最小値を算出し、そのときの値に対応するX2の値をさがすとき、lookup関数で#N/Aがでます。その理由を教えてください。単純に数値を入力する場合には算出できるのですが、どうしてでしょう?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

LOOKUP関数を使うときは,検索対象範囲を昇順に並べ替えておかないと意図した結果を得られません。 結果して#N/Aが出る場合もあれば,計算値が出たようでも間違った結果を引いてきている場合も多いはずです。 LOOKUP関数ではなく,たとえばデータが縦に並んでいるなら =VLOOKUP(MIN(A1:A10),A1:B10,2,FALSE) などのように計算してみてください。横に並んでいるならHLOOKUP関数をFALSEで使います。 データの並びの関係で左(上)に検索値を配置できないなら =INDEX(B1:B1,MATCH(MIN(A1:A10),A1:A10,0)) でも構いません。

toraban
質問者

お礼

ありがとうございます。まさにおっしゃるとおりの経緯です。並べ替えてやってみます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • askaaska
  • ベストアンサー率35% (1455/4149)
回答No.1

質問があいまいすぎてよく分からないけど #N/Aが出るのは単に 該当する検索値がなかったせいだわ。

toraban
質問者

お礼

ありがとうございます。並べ替えで対応可能なようです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 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のような

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

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

  • EXCELのLOOKUP関数に似た関数

    EXCELのLOOKUP関数でベクトル形式の場合、 「検査値が見つからない場合、検査範囲内で検査値以下の最大値が、一致する値として使用されます」 のですが、これと似たケースで 「検査値が見つからない場合、検査範囲内で検査値以上の最小値が、一致する値として使用されます」 のように値を返して欲しいのです。 方法をご存知の方、お力をお貸し願います。

  • エクセルのLOOKUP関数について教えてください。

    エクセルのLOOKUP関数について教えてください。 日にちごとに、AさんからEさんの順位を表示しています。 その表を元に、日にちごとに、1位から5位には誰がなったのかを 表示したいと考えています。 LOOKUP関数を用いて行ったところ、正しい答えとそうでない答えが出てしまいました。 間違った答えがでた箇所(ピンク表示)には、下記のような計算式が入っています。 E15=LOOKUP(E13,$C$4:$G$4,$C$2:$G$2) E16=LOOKUP(E13,$C$5:$G$5,$C$2:$G$2) D17=LOOKUP(D13,$C$6:$G$6,$C$2:$G$2) F18=LOOKUP(F13,$C$7:$G$7,$C$2:$G$2) D19=LOOKUP(D13,$C$8:$G$8,$C$2:$G$2) F19=LOOKUP(F13,$C$8:$G$8,$C$2:$G$2) 調べたところ、LOOKUP関数は昇順になっていないとできないとあったので、 その理由でうまく表示されないのか?とまでは推測がついたのですが、 では、どうしたらいいか?というところで作業がとまっております。 LOOKUP関数以外の関数でも構いませんので、どのようにしたら表が完成できるか どうかお知恵を拝借願いますm(_ _)m

  • LOOKUP関数にて切り上げた数値を返したい

    エクセルについての質問です。    A    B     C      D   検査値 結果 対応範囲 検査範囲 1  4.7   3.0    3.0      4.6 2  5.1   3.2    3.2      5.0 3  6.2   4.0    4.0      6.1 4  6.8   4.5    4.5      6.7 上のような表があります。 B1の数式は =IF(ISERROR(LOOKUP($B1,$D$1:$D$4,C$1:C$4)),0,LOOKUP($B1,$D$1:$D$4,C$1:C$4)) で現在入力しています。 現状だと、検査値が4.9の場合、3.0を返してしまいます。 1.検査値に最も近い検査範囲(中間の場合は大きい方)を参照して結果を出したい場合の数式 2.検査値が検査範囲の数値を1ポイントでも超える場合は次の数値で参照する場合の数式 ※いずれも検査値が4.6を下回る場合はゼロとする を教えて頂けないでしょうか。 いろいろ調べてみたのですが、わかりませんでした。 質問文も何かとわかりづらいかと思いますが、何卒よろしくお願い致します。

  • VLOOKUP関数で「#N/A」が出てしまう。

    Aのファイルの中にあるコード(英数字8ケタ)の中から、Bのファイルにあるコードに一致しているものをVLOOKUP関数で探し当てようとしています。 Bのファイルに数式を入力しましたが、すべて「#N/A」が出てしまいます。 数式は間違っていません。 念のため、CとDという別なサンプルを作り同じ数式を入力してみたら、それはきちんとできました。 なぜAとBでは出来ないのか解りません。 考えられる原因は何でしょうか?

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

  • VLOOKUP関数 #N/A

    エクセルのVLOOKUP関数で 「10月シート」の「A会社」の一つ右の列の値を取得したいのですが 10月シートにA会社が存在しない場合は#N/Aが返ります。 数式は、=VLOOKUP(“A会社”, 10月シート!$a$1:$b$2,1,0) としています。 #N/Aにならないようにする方法を教えてください。

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

  • エクセルで#N/Aを含めた平均値を求める方法

    エクセルで#N/Aを含めた平均値を求める方法を教えてください。 添付した画像のように入力した数値の平均値を求めたくて『=AVERAGE(B2:B8)』と設定しましたが、算出された平均値が『#N/A』と表示されてしまいます。 これを入力した数値分だけで平均値を求めることはできないでしょうか? どうぞ宜しくお願い致します。