数式を使用しSUM(B1..B20)
て列を合計しますが、隣接する列でデータをフィルター処理すると、フィルター処理されていない行のみを反映するように合計が更新されません。どうやってこれを行うのですか?
110921 次
3 に答える
100
SUBTOTAL関数を使用する必要があります。SUBTOTAL関数は、フィルターによって除外された行を無視します。
式は次のようになります。
=SUBTOTAL(9,B1:B20)
関数番号9は、データ範囲B1:B20でSUM関数を使用するように指示します。
行を非表示にして「フィルタリング」している場合は、関数番号を109に更新する必要があります。
=SUBTOTAL(109,B1:B20)
関数番号109もSUM関数用ですが、非表示の行は無視されます。
于 2009-04-17T10:31:13.640 に答える
2
オートフィルターを使用して結果をフィルター処理する場合、Excel は結果を非表示にすることさえしません。行の高さをゼロに設定するだけです (少なくとも 2003 年までは、2007 年についてはわかりません)。
したがって、次のカスタム関数は、必要なことを行うためのスターターを提供する必要があります (整数でテストされ、他には何も試していません)。
Function SumVis(r As Range)
Dim cell As Excel.Range
Dim total As Variant
For Each cell In r.Cells
If cell.Height <> 0 Then
total = total + cell.Value
End If
Next
SumVis = total
End Function
編集:
関数を配置するには、ワークブックにモジュールを作成する必要があります。その後、他の関数 (=SumVis(A1:A14)) と同様にシートで呼び出すことができます。モジュールのセットアップについてサポートが必要な場合は、お知らせください。
于 2009-04-17T09:32:04.500 に答える