カークは、彼のワークシートの多くでSUM関数を使用して(当然)

値の範囲の合計を決定します。しかし、彼が直面している問題は、彼が合計している範囲にいくつかの非表示の行が含まれており、それらの値(非表示の値)が合計に含まれることを望まないことです。

SUM関数は、その動作方法が非常に単純です。単に範囲を合計します。ただし、使用する関数を変更して、目的の結果を得ることができます。たとえば、A3:A45の範囲を合計し、非表示の値を合計に含めたくないとします。 SUBTOTAL関数は次のように使用する必要があります:

=SUBTOTAL(109,A3:A45)

関数の最初のパラメーター(109)は、SUBTOTALにその作業をどのように実行させるかを示します。この場合、SUM関数を使用してSUBTOTALで範囲を合計し、返される値に非表示の値を含めないようにする必要があることを意味します。 (SUBTOTAL関数のオンラインヘルプを参照すると、SUBTOTALパラメーターの制御について詳しく知ることができます。)

何らかの理由でSUBTOTAL関数を使用したくない場合は、範囲内の表示値のみを合計する独自のユーザー定義関数(マクロ)を作成できます。このマクロについて考えてみましょう:

Function Sum_Visible(Cells_To_Sum As Object)

Dim vTotal As Variant

Application.Volatile     vTotal = 0     For Each cell In Cells_To_Sum         If Not cell.Rows.Hidden Then             If Not cell.Columns.Hidden Then                 vTotal = vTotal + cell.Value             End If         End If     Next     Sum_Visible = vTotal End Function

この関数を使用するには、合計を表示する場所に次のような式を使用するだけです。

=Sum_Visible(A1:A1000)

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(12123)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります: