私の最初に考えたのは次のようになります。
=SUM(MIN (1,COUNTIFS(Sheet1!A1:A18,Sheet2!$A1,Sheet1!B1:B18,{"za","zc","zd"}))
が、MINは、結果のCOUNTIFS配列に適切に適用される場合は、私がテストできるところ私はしませんよ。 ;-)
EDITED:MIN関数は、COUNTIFS配列内の項目のうち、最小値ではなく、最小値ではなく、少なくとも1つまたはすべての項目を取っています。これは私が恐れていたものです。
=MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"za"),1)+MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"zc"),1)+MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"zd"),1)
が得られます。ちょっと厄介ですが、配列式よりも簡単です。あなたは配列数式をしたい場合は、使用することができます。
=SUM(FREQUENCY(IFERROR(MATCH({"za","zc","zd"},(IF(Sheet1!$A$1:$A$18=$A5,Sheet1!$B$1:$B$18)),0),""),IFERROR(MATCH({"za","zc","zd"},(IF(Sheet1!$A$1:$A$18=$A5,Sheet1!$B$1:$B$18)),0),"")))
これは、一連の値を取り、値の別のセットで多くの項目は、データ範囲のそれぞれに収まるかを確認するためにFREQUENCY関数を使用しています。数値の代わりにテキストが必要なので、MATCH関数を使用してリスト内で値が最初に見つかったかどうかを調べ、IFERROR関数を使って ""を返します。 (最初に出現するのは、出現回数がわからないためです)。テキストなので、FREQUENCYの両方の引数に同じ入力を使用します。
したがって、検索する値または検索する範囲を変更する必要がある場合は、両方を変更してください。あるいは、F1:F3のように値をリストアップして、A1:A18の別名とB1:B18の名前の範囲を指定することもできます。数式は次のようになります。
=SUM(FREQUENCY(IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""),IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),"")))
名前付き範囲の定義を変更するだけで、数式が更新される必要があります。 :-)
注:これは配列式なので、EnterキーではなくCTRL + SHIFT + ENTERを押してセルから閉じる必要があります。数式バーを見ると、
{=SUM(FREQUENCY(IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""),IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),"")))}
自分で中括弧を入力することはできません。 ;-)
おかげで多くのことを。私はあなたの提案を試みましたが、それはただ0を返すだけです。 – franciscofcosta
私はデータと公式をテストし、私の答えを更新しました。 :-) –
ありがとうございました。 Arrayの式ではできませんでしたが、MINを使用していました。ありがとうございました。 – franciscofcosta