プロが教えるわが家の防犯対策術!

すいません。自分が馬鹿なもので・・・さっぱりです。

A  B  C  D   E
1  梨 柿 苺 山下
2 芋 米 栗 鈴木
3 鳥 馬 羊 松本
4 魚 犬 猫 田中

というシートがあって。
別シートで
A  B  C
1  猫 田中
2 芋 鈴木
3 梨 山下
4 犬 田中
というように、B列を検索してC列に人の名前を返す
例えば「猫」を前のシートから検索して一致する
「田中」の名前を返したいとき、どのような関数を使えばいいですか?
vlookupだと検索範囲が1列しか検索できないから、どうしても複数列を検索したいもので・・・

A 回答 (7件)

NO2です。


同一の数式で問題ないと思います。
IF($A1<>"",INDEX(Sheet1!D:D,SUMPRODUCT((Sheet1!$A$1:$C$4=$A1)*ROW(Sheet1!$A$1:$A$4))),"")
因みにROW()関数は、検索範囲の行範囲を設定して下さい。
    • good
    • 0
この回答へのお礼

ありがとうございました。
試験的に作ったデータでは完璧に出来ました。
あとは、実際のデータで行って見ます。

お礼日時:2007/12/04 17:24

=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さんは空欄時の処理も行っています)。
    • good
    • 0

次の方法は如何でしょうか。


=IF($B1<>"",INDEX(Sheet1!E:E,SUMPRODUCT((Sheet1!$B$1:$D$5=$B1)*ROW(Sheet1!$A$1:$A$5))),"")
    • good
    • 0
この回答へのお礼

ありがとうございます。なんか出来かけてきました。
大変恐縮ですが、教えてください。
下記の表がExcelの表として、「梨」をA1とした場合

   A  B  C  D
1  梨 柿 苺 山下
2  芋 米 栗 鈴木
3  鳥 馬 羊 松本
4  魚 犬 猫 田中

というシートがあって。
別シートで
   A  B
1  猫 田中
2  芋 鈴木
3  梨 山下
4  犬 田中

このような場合でも同じような関数でいいですか?
とくにROWのところが分からなくて・・・

お礼日時:2007/12/04 14:38

B:Dの中に重複するものがないのであれば、以下のようになります。


(A列は通し番号であるとみなしました。)

=INDEX(Sheet1!$E$1:$E$4,SUMPRODUCT((Sheet1!$B$1:$D$4=B1)*$A$1:$A$4))
    • good
    • 0
この回答へのお礼

ありがとうございます。
しかし、何度やっても#VALUEになるのですが・・・

=INDEX(Sheet1!$E$1:$E$7,SUMPRODUCT((Sheet1!$A$1:$D$7=A1)*$A$1:$A$10)) 

どこかおかしいところはありますか?

お礼日時:2007/12/04 14:07

できんわけではない、ということで。



エラーを拾ってそれぞれ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)))

できる、というだけで実用的かどうかというとどうでしょうか。私は通常使わないでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。エラーを拾ってやる方法は自分も考えましたが、実際に苦戦しているデータは40列ぐらいあるので、文字数が限界でした。

お礼日時:2007/12/04 12:52

どうもです。


元のデーターをいじれるか?ですかそのままでは無理なような・・・・

A  B  
梨 山下 
柿 山下
苺 山下
芋 鈴木
米 鈴木
栗 鈴木
鳥 松本
馬 松本
羊 松本
魚 田中
猫 田中
犬 田中

って感じでないと出来ないような気がします。
あとは賢い方のレスまちですかね
    • good
    • 0
この回答へのお礼

ありがとうございます。賢い人のレスを待ってみます。

お礼日時:2007/12/04 12:53

別シートの猫を使って田中を検索したいのでしたら、


=VLOOKUP(B1,シート!D1:E4,2)
で検索できます。

ただし、シート!D1:E4の部分はD列が昇順で並んでいる必要があります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
けど仮に「馬」と入れたら、「松本」を引っ張ってきますか?

お礼日時:2007/12/04 14:10

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