- ベストアンサー
Excelの関数が分かりません。Vlookupで出来ると思ったのですが、出来ませんでした。
すいません。自分が馬鹿なもので・・・さっぱりです。 A B C D E 1 梨 柿 苺 山下 2 芋 米 栗 鈴木 3 鳥 馬 羊 松本 4 魚 犬 猫 田中 というシートがあって。 別シートで A B C 1 猫 田中 2 芋 鈴木 3 梨 山下 4 犬 田中 というように、B列を検索してC列に人の名前を返す 例えば「猫」を前のシートから検索して一致する 「田中」の名前を返したいとき、どのような関数を使えばいいですか? vlookupだと検索範囲が1列しか検索できないから、どうしても複数列を検索したいもので・・・
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
NO2です。 同一の数式で問題ないと思います。 IF($A1<>"",INDEX(Sheet1!D:D,SUMPRODUCT((Sheet1!$A$1:$C$4=$A1)*ROW(Sheet1!$A$1:$A$4))),"") 因みにROW()関数は、検索範囲の行範囲を設定して下さい。
その他の回答 (6)
- cafe_au_lait
- ベストアンサー率51% (143/276)
=INDEX(Sheet1!$E$1:$E$7,SUMPRODUCT((Sheet1!$A$1:$D$7=A1)*$A$1:$A$7)) $A$1:$A$10→$A$1:$A$7としてください。 その前の$A$1:$D$7と行数を合わせる必要があります。 A列が通し番号ではない場合、 =INDEX(Sheet1!$E$1:$E$7,SUMPRODUCT((Sheet1!$A$1:$D$7=A1)*ROW($A$1:$A$7))) 基本的にはNo.5さんと同じです(No.5さんは空欄時の処理も行っています)。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 =IF($B1<>"",INDEX(Sheet1!E:E,SUMPRODUCT((Sheet1!$B$1:$D$5=$B1)*ROW(Sheet1!$A$1:$A$5))),"")
お礼
ありがとうございます。なんか出来かけてきました。 大変恐縮ですが、教えてください。 下記の表がExcelの表として、「梨」をA1とした場合 A B C D 1 梨 柿 苺 山下 2 芋 米 栗 鈴木 3 鳥 馬 羊 松本 4 魚 犬 猫 田中 というシートがあって。 別シートで A B 1 猫 田中 2 芋 鈴木 3 梨 山下 4 犬 田中 このような場合でも同じような関数でいいですか? とくにROWのところが分からなくて・・・
- cafe_au_lait
- ベストアンサー率51% (143/276)
B:Dの中に重複するものがないのであれば、以下のようになります。 (A列は通し番号であるとみなしました。) =INDEX(Sheet1!$E$1:$E$4,SUMPRODUCT((Sheet1!$B$1:$D$4=B1)*$A$1:$A$4))
お礼
ありがとうございます。 しかし、何度やっても#VALUEになるのですが・・・ =INDEX(Sheet1!$E$1:$E$7,SUMPRODUCT((Sheet1!$A$1:$D$7=A1)*$A$1:$A$10)) どこかおかしいところはありますか?
- sakuragiJR
- ベストアンサー率10% (2/20)
できんわけではない、ということで。 エラーを拾ってそれぞれVLOOKUP関数の参照をずらしてみました。 具体的には参照元の表をa1:e5に、目的の表をA13:C17に張ったと仮定した場合、以下のような式でいけることは確認しました。 =IF(ISERROR(VLOOKUP(B15,$B$2:$E$5,4,FALSE))=FALSE,VLOOKUP(B15,$B$2:$E$5,4,FALSE),IF(ISERROR(VLOOKUP(B15,$C$2:$E$5,3,FALSE))=FALSE,VLOOKUP(B15,$C$3:$E$5,3,FALSE),VLOOKUP(B15,$D$3:$E$5,2,FALSE))) できる、というだけで実用的かどうかというとどうでしょうか。私は通常使わないでしょう。
お礼
ありがとうございます。エラーを拾ってやる方法は自分も考えましたが、実際に苦戦しているデータは40列ぐらいあるので、文字数が限界でした。
- yossy0426
- ベストアンサー率24% (32/130)
どうもです。 元のデーターをいじれるか?ですかそのままでは無理なような・・・・ A B 梨 山下 柿 山下 苺 山下 芋 鈴木 米 鈴木 栗 鈴木 鳥 松本 馬 松本 羊 松本 魚 田中 猫 田中 犬 田中 って感じでないと出来ないような気がします。 あとは賢い方のレスまちですかね
お礼
ありがとうございます。賢い人のレスを待ってみます。
- pbforce
- ベストアンサー率22% (379/1719)
別シートの猫を使って田中を検索したいのでしたら、 =VLOOKUP(B1,シート!D1:E4,2) で検索できます。 ただし、シート!D1:E4の部分はD列が昇順で並んでいる必要があります。
お礼
ありがとうございます。 けど仮に「馬」と入れたら、「松本」を引っ張ってきますか?
お礼
ありがとうございました。 試験的に作ったデータでは完璧に出来ました。 あとは、実際のデータで行って見ます。