• ベストアンサー

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

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

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

> そのセルの値も関数で出した値 その「関数」が文字列を返す関数なのでは? ご提示いただけると判断しやすいのですが。 単純に「数字による文字列を数値に変換する」なら   =VALUE(文字列) で可能ではありますが。

thepten
質問者

お礼

LOOKUP関数で指定したいセルに使われている関数はMID関数です。 例として TES1234 というセルから1234だけを抜き出すのにMID関数を使っています。

thepten
質問者

補足

VALUE関数を使って数字として入力することができました! VALUE(MID関数)でうまく数字のみを抜き出すことができました。 本当にありがとうございます!

その他の回答 (3)

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

たとえばシートが「R1C1表示」になっている(画面上端の列番号表示がABCじゃなく1,2,3になっている)のに,関数として =LOOKUP(A1,A:A) なんて具合に作成しようとしている状況のようです。逆も然りです。 エクセルのオプションでA1形式の表示に直してから数式を記入します。 あなたが「実際にエクセルに作成して失敗した」その数式をあなたのエクセルからコピーして,目に見える様子としてこうなってると情報提供して,ご相談を書くようにして下さい。 たとえばfxウィザードで上述例を作成しようとすると =LOOKUP("A1","A:A") といった具合になります。ご質問で気になってる「A1」だけがおかしいワケじゃないとか,そもそもホントにあなたがLOOKUP関数を使おうとしているのかとか,そういった事がそれで読み取れます。

thepten
質問者

お礼

そうしたいのは山々なのですが、プライバシーに関わるものですのでコピーはできません。 例を作りたいとは思うのですが、元々自分で作成したものではないので一から作るのが 少し難しいです。こちらでも色々と手探りでやっていくのでわかる範囲で教えていただければと思います。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.2

一度、ダイアログを使わずに直接打ち込んでみたらどうなりますか? 検査値がA1、検査範囲をB1:B5、対応範囲をC1:C5 とすると、   =LOOKUP(A1,B1:B5,C1:C5) > 「""」がおかしいのかと思うのですが「""」を外すこともできず ダイアログの中で「""」が付くという事は、文字列として認識されるってことですから、 入力されている「数値」が実は「数値に見える文字列」なのかもしれませんね。

thepten
質問者

お礼

やっぱり文字列と認識されているんですね・・・。 検査値の値にセルを指定してますが、そのセルの値も関数で出した値なんです。 おそらくそれが原因と思うのですが、どうすれば数字として認識してくれるんでしょうか?

回答No.1

関数ウィザードなんて使ってないで、さっさとブチコマンカイ!!

関連する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について教えてください

    たとえばC1セルに「=LOOKUP(F3,物量!A4:A468,物量!H4:H468)」と書きます そしてこのセルから下にドラックして同じような内容の関数をつくりたいのです。 この場合の関数は「検査値」(この場合F3)だけ追加(つまりF4,F5,F6・・)してあとの「検査範囲」と「対応範囲」はこのC1にかいた範囲のままにしたいのです。 ただドラックだけだと「検査範囲」「対応範囲」も増加してしまうのですが、どなたか簡単につくれる方法教えてください。

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

    エクセルのLOOKUP関数の検査値には、英文字は指定できませんか? 漢字名の処ではちゃんとデータを持ってくるのですが英文字の処になるとエラーになります。 誰か助けてください。

  • エクセル2003のLookup関数について

    検査範囲(D2:D5)に県名のリストを作成し、対応範囲(E2:E5)に例えば人口を入れるとします。 F2セルに県名を入力してG2セルに人口を表示するために、G2セルに[=LOOKUP(F2,D2:D5,E2:E5)]と入力します。ところがこれだけではうまく作動しません。いろいろ実験してみると、検査範囲のデータが昇順に並んでないとだめなようです。そこで検査範囲を昇順に並び替えてやってみたのですが、それでもうまくいきません。県名をローマ字にすればうまくいくのですが、漢字ではうまくいきません。 どうすればいいのでしょうか。Lookup関数以外の方法があるでしょうか。 よろしくお願いします。

  • Excel 関数 lookup 幅のある数字の検索

    Excel関数のLookupの使い方についてですが、 以下のように、テーブルの検査範囲に幅を持たせて、 その幅の範囲内に検査値が該当した場合、 B列のセルに1~3までの数値をlooup関数で反映させたいと考えていますが、 どうすればいいのでしょうか? ※実際のデータは5,000以上あるので、関数でやりたいと考えています。 ぜひご教示お願いします。 A(検査値)    B 1   0.15       1 2  0.99       3 3  0.31       2 4  2.00       3 --------------------------- テーブル 検査範囲   対応範囲 0.00~0.30     1 0.31~0.50     2 0.51~       3

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

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

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

  • エクセル2010のLookup関数について

    初歩的な質問で申し訳ありません。。 0~6歳未満、6~12歳未満、12~15歳未満、15~18歳未満、18~22歳未満、22歳以上それぞれの区分ごとの料金をエクセルのLookup関数を使って、年齢をセルに入力したら料金が出力されるようにしたいのですが、どのようにすれば良いのでしょうか?

  • EXCELのLOOKUP関数に似た関数

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

  • 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を下回る場合はゼロとする を教えて頂けないでしょうか。 いろいろ調べてみたのですが、わかりませんでした。 質問文も何かとわかりづらいかと思いますが、何卒よろしくお願い致します。

専門家に質問してみよう