カークは、彼のワークシートの多くで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_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

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

このヒント(3082)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excelribbon-Summing_Only_Visible_Values [Summing Only VisibleValues]