- ベストアンサー
Excel2007で、検索をしたいのですが…。
Excel2007で、検索をしたいのですが…。 A列にNo. B列に品名 であればVLOOKUPで検索出来るのですが、教えて頂きたいのは A列にNo. B列に品名 C列にもNo. D列にNo.入力 E列に表示 例) 01 机 91 02 椅子 92 03 布 93 01 と入力した場合も 91 と入力した場合もどちらも『机』と表示されて欲しいのです。 この場合、VLOOKUPでは対応出来ない気がするのですが、何か別の関数ありますか? 当方、関数は苦手で、ほぼ初心者のようなものです。 宜しくお願い致します。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
>01 と入力した場合も 91 と入力した場合もどちらも こちらのお話を忘れてましたね。 そういった変に小手先のテクニカルな事は,細々解説してもきりがないので単に工夫だけになります。 例: B列からINDEXで持ってくるのは同じで,何行にあるのか調べる部分だけ細工してみます。 =IF(COUNTIF(A:C,D1),INDEX(B:B,MATCH(D1,IF(COUNTIF(A:A,D1),A:A,C:C),0)),"")
その他の回答 (4)
- tom04
- ベストアンサー率49% (2537/5117)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一例です。 ↓の画像でD列に入力する数値は、必ずA列かC列にあるものとします。 E2セルに =IF(D2="","",IF(COUNTIF($A$2:$A$1000,D2),VLOOKUP(D2,$A$2:$B$1000,2,0),INDEX($B$2:$B$1000,MATCH(D2,$C$2:$C$1000,0)))) という数式を入れ、オートフィルで下へコピーすると 画像のような感じになります。 尚、A・C列にない数値を入力するとエラーになります。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m
- keithin
- ベストアンサー率66% (5278/7941)
おさらい:VLOOKUPにできること >A列にNo. B列に品名 であればVLOOKUPで検索出来る VLOOKUPでは,No列より「右にあるデータ」しか取ってこさせる事ができません。 よく「左端列」と言いますが,別にNo列がA列じゃなくC列とか途中にあっても構いません。が,それよりも「更に右の列のセルの値」しか取ってこれないので,Cより左のB列の「机」を持ってこさせる事は絶対に出来ません。 という訳で解決方法: D1に91を入れた場合 =INDEX(B:B,MATCH(D1,C:C,0)) のようにして,「行位置を調べるMATCH関数」と,「その行のB列の値を取ってこさせるINDEX関数」を組み合わせて使います。
- web2525
- ベストアンサー率42% (1219/2850)
実データーの形式によっては使えませんので参考までに 例として挙げられている内容だけであれば =INDEX(データ範囲,MOD(D1,10)) ただしA列B列ともに連番で並んでいる場合のみ表示可能です
お礼
回答ありがとうございました。 さっそくやってみました。 恐らく、私が選択したデータ範囲が良くないんだと思いますが #REF! となってしまいました。
お礼
わざわざ二度もありがとうございました。 試しにやってみたら行きました!