- 締切済み
AかBのどちらかを入力するとCにデータが出る方法
VLOOKUP関数を使った在庫管理の表を作成するにあたって、Aのセルには商品コードを BのセルにはJANコードを Cのセルにはそれに対応した商品名が出るようにしたいのです。 参照するデータは別なシートに作成しています。 Aを入力すると B,Cが出るということはできるのですが A(商品コード)がわからずB(JANコード)がわかるときにもC(商品名)が出るようにしたいのです。現在はCのセルに =IF(A1="","",VLOOKUP(A1,別シート!$A$1:$G$20,3,0)) このような数式を使っています。 これでは 「どちらかを入れたら商品名が出る」事はできないので、何か良い計算式はありませんでしょうか。宜しくお願いします<(_ _)>
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- bunjii
- ベストアンサー率43% (3589/8249)
>現在はCのセルに =IF(A1="","",VLOOKUP(A1,別シート!$A$1:$G$20,3,0)) このような数式を使っています。 >これでは 「どちらかを入れたら商品名が出る」事はできないので、何か良い計算式はありませんでしょうか。 IF関数を入れ子構造にすれば可能ですが、A列とB列の優先順位はどうすれば良いでしょう? A列が優先のときは次のようにされると良いでしょう。 C1セルの数式 =IF(COUNTA($A1:$B1),IF($A1<>"",VLOOKUP($A1,別シート!$A$1:$G$20,3,0),VLOOKUP($B1,別シート!$B$1:$G$20,2,0)),"") VLOOKUP関数で検索値が範囲の第1列に見付からないときは#N/Aと言うエラーになります。
- neKo_quatre
- ベストアンサー率44% (735/1636)
AとBに別の商品コードとJANコードを入力したら?「エラー」とか表示しないと困るのでは? Aに商品コードを入力したらDに商品名 BにJANコードを入力したらEに商品名 DとEが一致または一方が空白なら、Cに表示 DとEが空白でなくて不一致ならエラー とか、作業列を使った方が式が短いかも。
お礼
ご回答有難うございます。作業列・・・・。気が付きませんでした。(笑) PC業務時間が多く取れないので、自宅でコードや表のセル所在等 シミュレーションして 会社では ”打ち込み”だけで出来るようちょっと工夫してみたいと思います。
冗長になりますが、 =IF(A1<>"",VLOOKUP(A1,別シート!$A$1:$G$20,3,0),IF(B1<>"",VLOOKUP(B1,≪JANコードと商品名のテーブルからの検索を指定≫),"")) とかはいかが?
お礼
早速のご回答いただきながら お礼が遅くなり申し訳ありません。残念ながら 未熟ゆえか うまくできず エラーになってしまい、未だ思うような計算式が使えていません。(><) 試行錯誤を繰り返しています。 今後にこの計算式が有効になるかと参考にさせていただきます。ありがとうございます。
お礼
ご回答ありがとうございます。 この方法は思いつきませんでした。 まだ作成にいたっていませんが A列が優先で (わからない場合に)B列を入力してもC列が表示される・・・これがしたかったので。 順番などの元データの位置なども考えながら 使わせていただきたいと思います。エラーがでず うまくいけばよいのですが。 本当に有難うございます。