Excel でフィルターを使用して SUMPRODUCT を使用する

Excel でフィルターを使用して SUMPRODUCT を使用する

SUMPRODUCTフィルターと一緒に使用すると問題が発生します。次の数式があります:

=SUMPRODUCT(LEN(B3:B7)-LEN(SUBSTITUTE(B3:B7;".";"")))

範囲内に「.」がいくつあるかを数える必要があります。ただし、一部のフィルターを使用すると、常にその範囲内のすべての「.」がカウントされますが、表示されているものだけをカウントしたいのです。

普通:

普通

フィルター後:

フィルター後

これどうやってするの?

答え1

数式に条件を追加しますSUMPRODUCT

=SUMPRODUCT((LEN(D3:D8)-LEN(SUBSTITUTE(D3:D8,".","")))*SUBTOTAL(103,OFFSET(D$2,ROW($A$1:$A$6),0)))

小計は非表示の行を無視できます。この場合、 を使用します。これは、空白でないセルを103返すので便利です。関数を使用して、カウントを単一の値ではなく配列として返すように変更する必要があります。重要な点は、範囲を選択することです。1OFFSET

D3:D8は、テキストをカウントする範囲である必要があります。 は
D$2その範囲のすぐ上のセルである必要があります。
$A$1:$A$6どの列でもかまいませんが、行 1 から始まり、テキストをカウントする範囲と同じ数の行を持つ必要があります。 私は単に習慣と利便性から を使用しました。 これは、 とうまく連携できるようにA1:A6、数値を入力するための配列を提供するだけです。OFFSETSUBTOTALSUMPRODUCT

ステップ1
ステップ2

関連情報