Jump to content

Documentation/Calc 関数/SUBTOTAL

From The Document Foundation Wiki
This page is a translated version of the page Documentation/Calc Functions/SUBTOTAL and the translation is 100% complete.


Function name:

SUBTOTAL

Category:

Mathematical

Summary:

指定した数学関数を使用して小計を計算します。SUBTOTAL 関数は、長方形のスプレッドシート領域を占める単純なデータテーブルで使用することを目的としており、データは縦方向に連なる行で編成されます。

SUBTOTAL 関数で処理されるデータ範囲に既に小計(SUBTOTAL)が含まれている場合、値が重複してカウントされないようにするため、小計(SUBTOTAL)は無視されます。データ範囲内のいずれかの行がフィルタで除外されている場合、そのデータはSUBTOTAL 関数では無視されます。また、SUBTOTAL 関数では、手動で非表示にされたデータ範囲内の行のデータをオプションで含めたり、除外したりできます。

Note:
Calcには、SUBTOTAL 関数に代わる強力で包括的な代替手段が用意されています。その機能にアクセスするには、メニューバーで データ ▸ 小計 を選択します。詳細については、システムヘルプで「subtotals tool」(小計ツール)を検索してください。

Syntax:

SUBTOTAL(集計関数; 範囲)

Returns:

必要な小計を表す数値を返します。それぞれの場合に返される値の性質の詳細については、指定した小計関数について説明しているページを参照してください。

Arguments:

集計関数 は整数、または整数を含むセルへの参照を指定します。これは、小計の計算に使用する関数と、手動 非表示の行を含めるか除外するかを示すインデックスです。関数は、[1, 11] の範囲、または [101, 111] の範囲のいずれかである必要があります。使用可能な各値の意味を次の表に示します。

集計関数と手動非表示の取り扱い別の引数値の対応表
非表示の行
を含める
非表示の行
を除外する
小計に使う
集計関数
1 101 AVERAGE
2 102 COUNT
3 103 COUNTA
4 104 MAX
5 105 MIN
6 106 PRODUCT
7 107 STDEV
8 108 STDEVP
9 109 SUM
10 110 VAR
11 111 VARP

範囲 は、小計が計算される実数セットを示します。範囲 は通常、次のいずれかの形式をとります:

  • 実数を含むセル範囲への単純な参照(たとえば、A1:A25)。
  • 実数を含むセルで構成される名前付き範囲の名前。
  • 実数を含むセルで構成されるデータベース範囲の名前。

また、範囲 引数に次の形式を使用しても、エラーは発生しませんが、特に有用であるとは限りません。

  • 実数、または実数に評価される式。たとえば、数式 =SUBTOTAL(1; 3) は 3 を返します。
  • 実数を含む単一のセルへの参照。たとえば、セル D1 に数値 123 が含まれている場合、数式 =SUBTOTAL(1; D1) は 123 を返します。
  • 実数のインライン配列({1.1; 2.2; 3.3; 4.4} など)。たとえば、数式 =SUBTOTAL(6; {1; 2; 3; 4; 5}) は 120 を返します。

次の状況(エラーを含む)が発生する可能性があります。

  • 集計関数 が数値以外の値の場合、SUBTOTAL は #VALUE! エラーを返します。
  • 集計関数 に整数以外の値を指定した場合、SUBTOTAL 関数は小数点以下を切り捨てた整数として認識します。
  • 集計関数 が [1, 11] や [101, 111] 範囲内にない場合、SUBTOTAL 関数 は 無効な引数のエラー (エラー:502) を返します。

Additional details:

  • 上記の #Syntax: セクションで示されている構文は、Calcの関数ウィザードの構文と一致しています。ただし、2番目の範囲を 3番目の引数として渡し、3番目の範囲を 4番目の引数として渡すなどして、SUBTOTAL 関数に複数の範囲を指定することができます。これにより、Microsoft Excel との相互運用性が提供されます。
  • 列を非表示にしても、SUBTOTAL 関数の結果には影響しません。
  • 使用可能な11個の小計に使う集計関数の詳細については、それぞれのページを参照してください。

Examples:

12人の生徒のクラスで試験が行われ、その成績が以下の表に示されています。

A B
1 生徒の名前 成績
2 Ann 2
3 Brian 10
4 Edward 8
5 James *
6 Jeffrey 5
7 Linette 10
8 Monica 8
9 Ray 3
10 Robert 4
11 Tamara 6
12 Victoria 7
13 William 9


セル範囲 A2:A13 には生徒の名前がアルファベット順に記入され、セル範囲 B2:B13 には生徒の成績がそれぞれ記入されています。セル B5 のアスタリスク(*)は、「James」が欠席し、テストを受けることができなかったことを示しています。次の例では、上記の表のデータに基づいています。

Formula Description Returns
=SUBTOTAL(2; B2:B13)

COUNT 関数を使用して、成績の数を数えます。COUNT 関数は文字列を無視するため、セル B5 のアスタリスクは無視されます。データに非表示の行がないため、数式 =SUBTOTAL(102; B2:B13) は同じ値を返します。

11
=SUBTOTAL(3; B2:B13)

COUNTA 関数を使用して、成績の数を数えます。COUNTA 関数では文字列のセルも考慮するため、セル B5 のアスタリスクを含めて数えます。データに非表示の行がないため、数式 =SUBTOTAL(103; B2:B13) は同じ値を返します。

12
=SUBTOTAL(4; B2:B13)

MAX 関数を使用して、最も高い成績の値を抽出します。データには非表示の行がないため、数式 =SUBTOTAL(104; B2:B13) は同じ値を返します。

10
=SUBTOTAL(5; B2:B13)

MIN 関数を使用して、最も低い成績の値を抽出します。データには非表示の行がないため、数式 =SUBTOTAL(105; B2:B13) は同じ値を返します。

2

次の例では、同じデータテーブルが使用されていますが、行 2 は非表示になっています(行番号を右クリックし、コンテキストメニューから行を表示しないを選択します)。

Formula Description Returns
=SUBTOTAL(2; B2:B13)

COUNT 関数を使用して、成績の数を数えます。COUNT 関数は文字列を無視するため、セル B5 のアスタリスクは無視されます。この場合、SUBTOTAL は非表示の行の値も含みます。

11
=SUBTOTAL(102; B2:B13)

COUNT 関数を使用して、成績の数を数えます。COUNT 関数は文字列を無視するため、セル B5 のアスタリスクは無視されます。この場合、SUBTOTAL 関数は非表示の行の値を無視します。

10
=SUBTOTAL(5; B2:B13)

MIN 関数を使用して、最も低い成績の値を抽出します。この場合、SUBTOTAL は非表示の行の値を含みます。

2
=SUBTOTAL(105; B2:B13)

MIN 関数を使用して、最も低い成績の値を抽出します。この場合、SUBTOTAL は非表示の行の値を無視します。

3

最後の例では、行 2 を表示することによって、データテーブルを元の状態に戻します(行 1 と行 3 の行番号を選択し、選択した行番号のいずれかを右クリックして、コンテキストメニューから行を表示するを選択します)。次に、セル範囲 A1:B13 内を左クリックし、メニューバーの データ ▸ オートフィルタ を選択して、オートフィルタを適用します。最後に、成績列の見出しの下矢印をクリックし、ダイアログの下部近くにある数値 10 の横のチェックボックスをオフにして、適用ボタンをクリックします。これで、行 3 と行 7 が除外されます。

Formula Description Returns
=SUBTOTAL(2; B2:B13)

COUNT 関数を使用して、成績の数を数えます。COUNT 関数は文字列を無視するため、セル B5 のアスタリスクは無視されます。データに非表示の行がないため、数式 =SUBTOTAL(102; B2:B13) は同じ値を返します。

9
=SUBTOTAL(3; B2:B13)

COUNTA 関数を使用して、成績の数を数えます。COUNTA 関数は文字列のセルを含めて数えるため、セル B5 のアスタリスクも含めて数えます。データに非表示の行がないため、数式 =SUBTOTAL(103; B2:B13) は同じ値を返します。

10
=SUBTOTAL(4; B2:B13)

MAX 関数を使用して、最も高い成績の値を抽出します。データには非表示の行がないため、数式 =SUBTOTAL(104; B2:B13) は同じ値を返します。

9

Related LibreOffice functions:

AVERAGE

COUNT

COUNTA

MAX

MIN

PRODUCT

STDEV

STDEVP

SUM

VAR

VARP

ODF standard:

Section 6.16.60, part 2

Related (or similar) Excel functions:

SUBTOTAL