• ベストアンサー

エクセルの関数

初心者の質問で、わかりにくくてごめんなさい。 LOOKUPみたいに、参照する表から値をひっぱって くる様にしたいのですが、参照する表の値の一部にその文字があったらそれをひっぱってくる様にするにはどうしたらよいのでしょうか? 例:参照の表のセル→ABC502 となっていて、ひっぱってくるセルに「502」と入力したらその横に「ABC502」と表示したいのです。 LOOKUPだと、○○の時は××という風に、まったく同じ値じゃないとだめですよね? 質問自体がわかりにくくて大変申し訳ないのですが、教えて下さい!!

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

  • ベストアンサー
  • brogie
  • ベストアンサー率33% (131/392)
回答No.3

comvさんの補足です。 B列に参照値が複数入っているときは、C列の数式セルをドラグして、コピーするときに、A列の参照の表が、ずれて来ます。これを防ぐためには、絶対指定をしなくてはなりません。 関数ウィザードを使って絶対指定するときは、F1キーを押してください。 修正した式です。 =IF(COUNTIF($A$1:$A$5,"*"&B1&"*"),VLOOKUP("*"&B1&"*",$A$1:$A$5,1,0),"なし") 絶対指定は$マークを付けます。 "*"&B1&"*"は、セルB1の前後に任意の文字列も含みます。&は結合記号です。*は任意の文字列です。 すでに、ご存知とは思いますが、老婆心ながら(^^;

その他の回答 (3)

  • yuhki_f
  • ベストアンサー率32% (32/99)
回答No.4

FIND関数を使ってみてはいかがでしょうか。LOOKUP関数とかIF関数にネストする場合にはやや制限があるかもしれませんが、データベース関数などよりは使いやすいように思います。

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

DGet関数を使うとか。 A列にデータが入ってるものとします A1に ID と入力してA2以下にデータがあって、その中にABC502ってデータも含まれているものとします。 まず、E1に ID と入力 E2に *502* って入力します で、適当なセルに =DGet(A:A,1,E1:E2) って入れたら、ABC502(もしくは"502"を含む最初のデータ)が取り出せるはずです。 余分なセルを使いたくないなら、VBAでプログラミングしてもいいかも。 参考URLに、以前私が作った自作関数が載ってます。 こっちについてもサポートしますんで、質問等あったら補足欄にお書きください。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=35559
wonder
質問者

お礼

回答ありがとうございます!! DGet関数って知りませんでした。 自作の関数があるってすごいですね!! 参考URL、見させていただきます。 また何かあればよろしくお願いします!

  • comv
  • ベストアンサー率52% (322/612)
回答No.1

こんばんは! 1例を    A   B   C 1 AAA501 502  数式 2 BBB505 3 CCC555 4 ABC502 5 ABB503 B1が参照値の入力セルとして C1の数式 =VLOOKUP("*"&B1,A1:A5,1,0) ただし通常のVLOOKUPと同様に  ・存在しない場合、#N/A エラーになります。  ・条件に合うセルが複数ある場合、上行が優先となります。 エラーを避ける為には予め存在をチェックする数式が必要です。 例) =IF(COUNTIF(A1:A5,"*"&B1),VLOOKUP("*"&B1,A1:A5,1,0),"なし")

関連するQ&A

  • Excelのユーザー定義関数

    シート名の一部とセルの値が一致したらLOOKUP関数をかえす関数を作成したいのですが… 例として。。。 シート名:20020301売上表、セルA1:2002/3/1の値があります。 シート名の"01"とA2の日付"1日"が一致したら、セルA2にLookup関数をかえす関数を作成したいのですが。。。 よろしくお願いします

  • エクセル関数

    こんにちは、エクセルでこんなこと出来ますか?教えてください。  例 acbadcbba 935841621 セルにa~dの文字を入力し、それに対する値を入力していきます。  順次入力していきますが、常にa~dの値を別なセルに表示させたいのですが、可能でしょうか?  上記の例では、aは1 bは2 cは1 dは4 です。 可能でしたら、方法を教えてください。よろしくお願いします。

  • Excel で他のセルの値を参照するには?

    よろしくお願いします。 (使用:Excel2000、2003) Excelでは、例えば下記のようにセルに入力すると 他のセルの値を参照できます。 =A1 しかし、これでは1つのセルあたり1つのセルしか参照できません。 例えば、  セルA1:「abc_def_ghi」という文字列が入っている  セルA2:「jkl_mno_pqr」という文字列が入っている とします。 この状態で、セルA3にA1とA2から値を参照して 「abc_mno」(A1から「abc」をA2から「mno」を参照しています)と いったようにするにはどのようにすれば良いでしょうか? MS-DOSでバッチファイルを作成するときの環境変数のように 値を参照したいという意図です。 お手数ですが、ご存知のかたがいらっしゃいましたら宜しくお願いします。

  • Excelの関数について

    エクセルで表を作っているのですが、関数についてひとつ質問です。 VLOOKUPなどの検索関数で、検索値として参照する値にひとつのセルの中の一定の文字列を指定したい場合はどうすればよいのでしょうか? MID関数で抽出しようとしたのですが、どうも関数で抽出した値はエラーが出るようで・・・。どなたかわかる方いらっしゃったら回答お願いします。

  • EXCELで値ではなく表示されている文字を参照

    値ではなく、表示されている文字を参照することは出来ますか? 具体的にはスケジュール表を作りたいのですが、基準となるセルに日付を入力し書式を「ユーザー定義」でmmにしています。それを横のセルに+1で翌日、下のセルに=で書式ddとして日付を連続して入力しています。 その場合、1行目に月が並んでしまうので、月が変わらなければ空欄にしたいのですが、値自体は変わってしまうので条件式が書けません。 実際の値を無視して書式として表示されているものが一致していれば空欄という数式は可能でしょうか?

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

  • Excel 検索に関する関数について教えてください

    色々と試しましたが、どうしてもうまくいかないので教えてください。 A列に休日を除いた日付(生産カレンダー)が入っています。 日付は手入力です。 A列 2008/5/14 2008/5/15 2008/5/16 2008/5/19 2008/5/20 2008/5/21 B1セルに任意の日付が入力された時、C1のセルに任意に入力されている数値分だけ前の日付をA列を参照してD1セルに表示したいのです。 例えばB1セルに2008/5/20、C1セルに3と入力された場合、D1セルには2008/5/20の3つ上のセルの値、2008/5/15を表示させたいのです。 生産カレンダーは列でなく、行にしても可です。 LOOKUP系やOFFSETなども複合したりして試してみましたが、うまくいきません。 ご教授よろしくお願いします。

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

    エクセルについて質問です。 「ある数値を入力したら常に一定の文字列を表示する」にはどの関数がいちばん便利でしょうか? 例:セルA1に101を入力→B1に「りんご」を表示 セルA2に201を入力→B2に「みかん」を表示 のように全部で50程度の数値&文字列の組み合わせ(コード表)を 判別したいと思っています。 よろしくお願いします。

  • Excel 関数で困ってます

    携帯からの質問なのでわかりづらいかと思いますが まずA列からずっと例えばAQ列まで文字列での日付が続いておりその下のセルにはあるデータが下に続いており日別に縦割りにデータになっていますこの表を参照し違う表を作りたいのですが 入力規制で同じように日付を選択すれば下のセルに日別のデータが返るようにしたいのですが 関数はどのようにすればよいでしょうか? VLOOKとかだと表の作り上難しいかなと 急ぎの仕事なものでなんとか初心者にご教示いただければと

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

    LOOKUP関数とVLOOKUP関数はどう違うのでしょうか?わかりやすく教えて下さい。(使用例など)  文字だけの表(2行)から検索したんですが、VLOOKUP関数は検索できたんですが、LOOKUP関数だと間違った検索になってしまうんです‥。

専門家に質問してみよう