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

現在データを分析したくエクセルを使用しているのですが
関数の使い方で分からないものがあるため質問を致します。

2つのシート間で複数の条件が一致した時、特定の列にあるデータを出力するという関数を書きたいです!

【例】→「」で囲まれたのがデータです。A~Dは列を表し、(1)~(3)は行を表しています
・シート1
   A   B   C   D
(1)  「1」 「4」   
(2)  「2」 「5」 ☆
(3)  「3」 「6」   

・シート2
   A   B   C   D
(1) 「3」  「4」
(2) 「2」  「5」 ★
(3) 「1」  「6」

上記のエクセルがあった場合で説明をさせて頂きます。

シート1とシート2で複数条件で同一なものを同一視させます
この例においては(2)行目A列・B列の「2」「5」が一致しています。
その時シート2のC列にある「★」のデータを
シート1の「☆」に表示したいです!

データは量が多いのでオートフィルで同じ数式をシート1のC列すべてのセルに適応したいです!

分かりにくい質問で大変恐縮です!

これらを実現させるための関数を使った条件式を教えてください!!

理解しづらいところに関しては補足にて対応致します!

宜しくお願い致します!!!!!!!!!

A 回答 (5件)

A列とB列を連結した文字で判定してよいなら(A列が1でB列が21とA列が12でB列が1のデータが存在しない条件なら)Sheet2のC1セルに以下の式を入力して下方向にオートフィルすればご希望のデータを表示することができます。



=IFERROR(INDEX(Sheet2!C:C,MATCH(A1&B1,INDEX(Sheet2!$A$1:$A$1000&Sheet2!$B$1:$B$1000,),0),),"")&""

#上記の数式はSheet2のC列のデータが文字列の場合ですので、日付や数値の場合は以下のような数式にする必要があります。

=IF(A1="","",IFERROR(INDEX(Sheet2!C:C,MATCH(A1&B1,INDEX(Sheet2!$A$1:$A$1000&Sheet2!$B$1:$B$1000,),0),),""))
    • good
    • 0
この回答へのお礼

どうもありがとうございます!
一発で解決することができました!!

お礼日時:2014/09/09 20:48

C1に


=IFERROR(INDEX(Sheet2!C:C,TEXT(MAX(INDEX((Sheet2!A$1:A$300=A1)*(Sheet2!B$1:B$300=B1)*ROW(Sheet2!C$1:C$300),)),"#")),"")
と記入、以下コピーします


既出回答の一つと非常によく似た数式ですが、既出回答は間違っています。




#参考
>理解しづらいところ

理解は簡単ですが、説明がヌケてる点が多数あります
●ご利用のエクセルのバージョンが不明。場合によって回答の数式は使用できません
●「多数」とは具体的に最大何行か不明。数千件を超えてデータがある場合は、これらの方式では無く全く違う方法を使います
●「☆」とかは具体的に「文字」なのか「数値」なのか不明。数値の場合は、ご利用のエクセルのバージョンによっては、もっと遥かに簡単な数式で計算できます


これらの事に配慮しながら、ご相談では情報提供してみて下さい。今回はいいので次回以降のご参考に。
    • good
    • 0
この回答へのお礼

ご指摘有難うございます!!

今後気を付けます!

お礼日時:2014/09/09 20:49

一例ですが。

。。
Sheet1!C1=IFERROR(INDEX(Sheet2!$C$1:$C$3,SUMPRODUCT(MAX((Sheet2!$A$1:$A$3=A1)*(Sheet2!$B$1:$B$3=B1)*ROW(Sheet2!$A$1:$A$3)))),"")
    • good
    • 0
この回答へのお礼

有難うございます!!

参考にさせて頂きました!

お礼日時:2014/09/09 20:49

こんばんは!


作業用の列を設ける方法が判りやすいと思います。

↓の画像で左側がSheet1・右側がSheet2とします。
Sheet2の作業列E2セルに
=IF(COUNTBLANK(A2:B2),"",A2&"_"&B2)
という数式を入れフィルハンドルでずぃ~~~!っと下へコピーしておきます。

そしてSheet1のC2セルに
=IF(COUNTIF(Sheet2!E:E,A2&"_"&B2),INDEX(Sheet2!C:C,MATCH(A2&"_"&B2,Sheet2!E:E,0)),"")
という数式を入れフィルハンドルで下へコピー!
これで画像のような感じになります。m(_ _)m
「エクセルの関するに関する質問です!」の回答画像2
    • good
    • 0

シート1のC1に



=IF(A1&B1=Sheet2!A1&Sheet2!B1,Sheet2!C1,"")

で下にフィルする
でいいのでしょうか。
    • good
    • 0
この回答へのお礼

有難うございます!!

お礼日時:2014/09/09 20:48

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