• 締切済み

エクセル 複数の条件に一致

複数の条件に一致したセルの内容によって、別のセルに別の文字を自動で表示したいのですが可能でしょうか? 詳細はこのような形で、 【シート1】       A     B       C 1      0001     3/1    有 2      0002     3/1    無 3      0001     3/2    不明 【シート2】       A     B       C 1             3/1      3/2 2      0001       ○      △ 3      0002       ×     "空欄" ・シート2のB2からC3を自動で表示できるようにしたい。 ・シート1のA列とシート2のA列が一致、更にシート1のB列とシート2の1行が一致。 ・シート1のC列が「有」の場合「○」、「無」の場合「×」、「不明」の場合、「△」、「空欄」の場合、「"空欄"」と表示。 知りうる限りの関数を合わせてみましたが、できませんでした。 どなたかいい方法を教えて頂ければと思います。 環境はXPpro、エクセル2000です。 宜しくお願いします。

みんなの回答

noname#176215
noname#176215
回答No.3

=IF(COUNT($A2,B$1)<2,"",CHOOSE(FIND(INDEX(Sheet1!$C:$C, 3-MAX(INDEX((Sheet1!$A$1:$A$3&"!"&Sheet1!$B$1:$B$3=$A2&"!"&B$1)*3 -ROW($1:$3),0))),"!!有!無!不明")/2+1,"""空欄""","○","×","△")) まじめに考えるなら 作業列を使って計算した方がいいと思います。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

長い数式になりますが次の方法は如何でしょうか。 =IF(SUMPRODUCT((Sheet1!$A$1:$A$100=$A2)*(Sheet1!$B$1:$B$100=B$1)*ROW(Sheet1!$A$1:$A$100)),LOOKUP(INDEX(Sheet1!$C$1:$C$100,SUMPRODUCT((Sheet1!$A$1:$A$100=$A2)*(Sheet1!$B$1:$B$100=B$1)*ROW(Sheet1!$A$1:$A$100))),{"不","無","有"},{"△","×","○"}),"""空欄""")

take5510
質問者

お礼

迅速な返信ありがとうございます! 無事出来ました。

noname#204879
noname#204879
回答No.1

Sheet2!B2: =IF(SUMPRODUCT((Sheet1!$A$1:$A$1000=$A2)*(Sheet1!$B$1:$B$1000=B$1),ROW(Sheet1!A$1:A$1000)),IF(INDEX(Sheet1!$C$1:$C$1000,SUMPRODUCT((Sheet1!$A$1:$A$1000=$A2)*(Sheet1!$B$1:$B$1000=B$1),ROW(Sheet1!A$1:A$1000)))="有","○",IF(INDEX(Sheet1!$C$1:$C$1000,SUMPRODUCT((Sheet1!$A$1:$A$1000=$A2)*(Sheet1!$B$1:$B$1000=B$1),ROW(Sheet1!A$1:A$1000)))="無","×","△")),"")

take5510
質問者

お礼

迅速な返信ありがとうございます! 無事出来ました。