プロが教える店舗&オフィスのセキュリティ対策術

ヘルプ等参照しましたが分かりませんでしたので、皆様のお力をお貸し下さい。

EXCELの検索式「LOOKUP」について教えてください。
言葉では伝えにくいので、こちらのエクセルファイルを参照していただければと思います。

http://watanabe-mfg.co.jp/hasimoto/LOOKUP.xls

簡単に説明しますと、複数の検索結果がでず同じ値になってしまうので対処方法があるのかどうかです。

宜しくお願いします。

A 回答 (7件)

LOOKUP は関数なので、1つの条件(引数)に対して、1つの結果を返します。


しかし、文面を拝見すると、1つの条件に対して、複数の結果を返して欲しいように読み取れますが、このとおりでしょうか。

グループ "1" を設定すると、科目には"福利厚生費"と"旅費交通費"、概要には"書留"と"経理課" を表示させたいとおっしゃっているのでしょうか。

たぶん、関数だけでは実現できないと思います。
    • good
    • 0
この回答へのお礼

有難うございます。

>グループ "1" を設定すると、科目には"福利厚生費"と"旅費交通費"、概要には"書留"と"経理課" を表示させたいとおっしゃっているのでしょうか。

その通りです。1つの条件に対して~ということはやはり無理なのでしょうか?

グループを1-1、1-2と、グループ1の中の1~という方法も試しましたが1-1と指定すると日付が表示されてしまい不可能でした。
LOOKUP以外の式でも可能なものはありますでしょうか。

お礼日時:2007/05/07 11:05

> グループを1-1、1-2と、グループ1の中の1~という方法も試しましたが1-1と指定すると日付が表示されてしまい不可能でした。



セルの書式を文字列に変えてから、1-1と入力してください。
    • good
    • 0

#2です。



> =LOOKUP("4",$B$2:$B$6,$C$2:$C$6)
> グループ値が存在しないと#N/Aと表示されるので、
> 空欄にしたい

=IF(ISNA(LOOKUP("4",$B$2:$B$6,$C$2:$C$6)),"",LOOKUP("4",$B$2:$B$6,$C$2:$C$6))

にしてみてください。

この回答への補足

>書式形式を文字列にしてみてください
有難うございます。解決しました。

しかし1-1、1-2、でグループ分けした場合で、1-3が存在しない場合
>=IF(ISNA(LOOKUP("1-3",$B$2:$B$6,$C$2:$C$6)),"",LOOKUP("1-3",$B$2:$B$6,$C$2:$C$6))
の式だと1-1、1-2と同じ値になってしまいます。

対処式はありますでしょうか?

補足日時:2007/05/07 13:20
    • good
    • 0

基本となるリスト(sheet)から、ある条件(グループ名)に合致するデータを抜き出して、新たなリストを作成したいのではないかと思いました。



もしそうであれば、下記 URL に解説されているような<クエリウィザード> の利用が適していると思います。

http://www.x-media.co.jp/tyoufaq/faq27.shtml

参考URL:http://www.x-media.co.jp/tyoufaq/faq27.shtml
    • good
    • 0
この回答へのお礼

有難うございます。

こういった参照の方法もあるのですね。
参考にこちらの方法でも製作してみようと思います^^

お礼日時:2007/05/07 16:38

> しかし1-1、1-2、でグループ分けした場合で、1-3が存在しない場合


> >=IF(ISNA(LOOKUP("1-3",$B$2:$B$6,$C$2:$C$6)),"",LOOKUP("1-3",$B$2:$B$6,$C$2:$C$6))
> の式だと1-1、1-2と同じ値になってしまいます。

> 対処式はありますでしょうか?

ただのLOOKUPを使っているからです。
VLOOKUPで
=VLOOKUP(検索値,範囲,列番号,検索の型)とすればそういう問題は起きません。

http://www.yoshikawa.co.jp/ybs/skilup/ybs0308.htm
    • good
    • 0

#2、3、5です。

具体的に書くと

=IF(ISNA(VLOOKUP("1-3",$B$2:$C$6,2,FALSE)),"",VLOOKUP("1-3",$B$2:$C$6,2,FALSE))

です。
多分、実際には検索値の"1-3"の部分は、セル参照にする場合がほとんどだと思いますが・・・。

この回答への補足

具体的に有難うございます。

VLOOKUPを使うとヘルプの
>列番号が範囲の列数より大きいときは、エラー値 #REF! が返されます。
になってしまいます。

「列番号が範囲の列数より大きいとき」というものがいまいち理解できません。

http://watanabe-mfg.co.jp/hasimoto/Book2.xls
ファイル添付しています。確認お願い致します。

補足日時:2007/05/07 16:01
    • good
    • 0

出勤伝票シートのA4セルに



=IF(ISNA(VLOOKUP("1-1",原紙!$A$14:$A$49,4,FALSE)),"",VLOOKUP("1-1",原紙!$A$14:$A$49,4,FALSE))

とありましたが、

=IF(ISNA(VLOOKUP("1-1",原紙!$A$14:$G$49,5,FALSE)),"",VLOOKUP("1-1",原紙!$A$14:$G$49,5,FALSE))

ではないでしょうか?

まず、参照する範囲は原紙!$A$14:$A$49の一列ではなく、支出まで拾うなら$A$14:$G$49と広げなくてはいけません。1列しかない範囲の4列目を拾うように式を書いているので参照エラー(#REF!)が出るのです。
その参照する範囲の4列目ではなく5列目でしょう?(結合されたD列もカウントします)
    • good
    • 0
この回答へのお礼

有難うございます!すっきり解決致しました。
vlookup式の仕組みがやっと理解できました。

結合部もカウントするんですね。

勉強になりました。有難うございました!

お礼日時:2007/05/07 16:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!