アプリ版:「スタンプのみでお礼する」機能のリリースについて

VLOOKUP関数では

例えば、
品番(検索値)で品名(被検索値)をピックアップする際、
データベースの一番左にある品番を検索値にして、
2列目の品名を出力すると思うのですが、

品名に対し品番(検索値)を2つ設定するには
VLOOKUP関数では無理でしょうか。

できるだけ
ひとつの表で完結させたいのですが
ご存知でしたらご教示ください。

A 回答 (12件中1~10件)

質問内容がどのようなことがしたいのかわかりません。



同じ品物に対して2つ以上の品番がある場合、品番から品名を検索するのであれば、リストにその品番を1行加えればVLOOKUP関数で全く問題なく検索できると思うのですが・・・

もしご希望の操作が回答と違う場合は、もう少し具体的にご希望の操作を例示してください。
    • good
    • 0

品番(検索値)を2つ設定した場合、両方ともヒットした場合どのような値を表示するのでしょう



検索値ごと(2つのセルに検索値を入れる)にVLOOKUP関数を用意(2つのセルに検索値ごとのVLOOKUP関数を記載する)して、その2つ関数を入れたセルの値に対して第3のセルで結果を出すという考えではいかがでしょう。
    • good
    • 0

ご参考になれば


http://global-wing.com/activity/vlookup_check.html

一致するデータがある(重複がある場合はVLOOKUPが使えないので
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/ …

その他の方法として
http://www.geocities.jp/chiquilin_site/data/0510 …

というよううな方法があるようです。
    • good
    • 0

下表のようなものを想定すればよろしいでしょうか?



一番簡単なのは品番入力欄を「品番1用」と「品番2用」の
2つ作ることだと思います。

品番入力にどっちを入れても大丈夫なようにしたいようなら、
ISERROR関数とIF関数を組み合わせて

=if(ISERRROR(VLOOKUP(品番1の検索)),VLOOKUP(品番1からの検索),VLOOKUP(品番2からの検索))

という感じにすればいいと思います。
「VLOOKUP 検索値を2つ設定したい」の回答画像4

この回答への補足

=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));VLOOKUP(B7;$O$6:$R$171;3;0) ;VLOOKUP(B7;$P$6:$R$171;2;0))

やりたいことを汲み取っていただきありがとうございます。
B7に検索値を入れ、O6からR171までの対応表を画像のように作った場合、
品番2の対応表はずらして(品番1の部分は除いて)
非検索対象列が手前に1列ずれるというふうになると思うのですが、
上記の式では
N/Aエラーになってしまします。

何か間違っているでしょうか。

補足日時:2013/09/14 07:44
    • good
    • 0

>=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));VLOOKUP(B7;$O$6:$R$171;3;0) ;VLOOKUP(B7;$P$6:$R$171;2;0))



いやいや、 ;と,を入力間違いしていませんか。

=IF(ISERROR(VLOOKUP(B7,$O$6:$R$171.3,0)),VLOOKUP(B7,$O$6:$R$171,3,0),VLOOKUP(B7,$P$6:$R$171,2,0))

では?
    • good
    • 0
この回答へのお礼

openofficeの形式によるものです。

お礼日時:2013/09/14 22:53

>上記の式ではN/Aエラーになってしまします。



1つのVLOOKUP関数をISERROR関数で判定してエラーの時は、もう1つのVLOOKUP関数を参照する以下のような数式にしなければなりません(提示された数式はエラーの時にエラーになった数式を返す数式になっています)。

=IF(ISERROR(VLOOKUP(B7,$O$6:$R$171.3,0)),VLOOKUP(B7,$P$6:$R$171,2,0),VLOOKUP(B7,$O$6:$R$171,3,0))

この回答への補足

真と偽が逆なのですね。

IF(B7="";"";VLOOKUP(B7;$O$6:$R$171;2;0))
元々の式が上記のもので
空欄時にN/Aエラーを表示しないようにしていたのですが、
今の式にどう加えればいいでしょうか。

補足日時:2013/09/14 22:59
    • good
    • 0

No5です。


よく見たら、私も入力ミスしてましたね。
加えて、よく見たら、IF文の Iserror対する真と偽が逆ですね。

=IF(ISERROR(VLOOKUP(B7,$O$6:$R$171,3,0)),VLOOKUP(B7,$P$6:$R$171,2,0),VLOOKUP(B7,$O$6:$R$171,3,0))
こちらが正解ですかね。

この回答への補足

真と偽が逆なのですね。

IF(B7="";"";VLOOKUP(B7;$O$6:$R$171;2;0))
元々の式が上記のもので
空欄時にN/Aエラーを表示しないようにしていたのですが、
今の式にどう加えればいいでしょうか。

補足日時:2013/09/14 22:59
    • good
    • 0

回答No.4の補足にアドバイスさせて頂きます。



>N/Aエラーになってしまします。
VLOOKUP関数で検索結果が未検出の時に出ます。
条件の文字列が対象列に存在していることを確認してください。

>何か間違っているでしょうか。
はい、間違ってます。
IF関数の中にISERROR関数が有るので正否の判断を誤っているようです。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/09/16 01:36

No4です。


タイプミスに気づいて参りましたが、ほかの方が直してくださってますね。
混乱させてしまったようで申し訳ありません。


if関数の真のときと偽のときの値が逆です。

=IF(ISERRROR(VLOOKUP(品番1からの検索)),VLOOKUP(品番2からの検索),VLOOKUP(品番1からの検索))

が正しいです。


おそらく
=IF(ISERROR(VLOOKUP(B7;$O$6:$R$171;3;0));VLOOKUP(B7;$P$6:$R$171;2;0);VLOOKUP(B7;$O$6:$R$171;3;0))
で動くのではないでしょうか。

この回答への補足

無事動きました。
ですが、空欄時のN/Aえらーを表示させたくないので、
もう一つIF関数を噛ませるか、
もしくはISBLANK関数を使って、
偽の判定の方にORを使って品番1、2の両方の判定をさせることとかってできますか?

補足日時:2013/09/15 00:44
    • good
    • 0

=IF(B7="";"";<型番の判定式>)


でできると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2013/09/16 01:36

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