SharePoint の数式と関数の概要

適用先
SharePoint Server 2019 SharePoint Server 2016 SharePoint Server 2013 SharePoint Server 2010 Windows SharePoint Services 3.0

リストまたはライブラリで数式や関数を使用すると、さまざまな方法でデータを計算できます。 リストまたはライブラリに集計列を追加することで、他の列のデータを含む数式を作成し、日付と時刻の計算、数式の実行、またはテキストの操作を行う機能を実行することができます。 たとえば、タスク リストでは、列を使用して、[開始日] 列と [完了日] 列に基づいて、各タスクの完了にかかる日数を計算できます。

この記事では、数式と関数の使用に関連する基本的な概念について説明します。 特定の関数の詳細については、その関数に関する記事を参照してください。

この記事の内容

数式の概要

数式は、リストまたはライブラリ内の値に対して計算を実行する数式です。 数式は、等号 (=) で始まります。 たとえば、次の数式は 2 x 3 を乗算し、結果に 5 を加算します。

=5+2*3

集計列で数式を使用したり、列の既定値を計算したりすることができます。 次の例のように、数式には関数、列参照、演算子、および定数を含めることができます。

=PI()*[Result]^2

要素 説明
関数 PI() 関数は円周率 3.141592654 を返します。
参照 (または列名) [Result] は、現在の行の Result 列の値を表します。
定数 数式に直接入力される数値や文字列の値 (例: 2 など)。
演算子 * (アスタリスク) 演算子は乗算を行い、^ (キャレット) 演算子は数値のべき乗を実行します。

数式には、前のテーブルの 1 つ以上の要素が使用されている場合があります。 数式の例を次に示します (複雑さの順)。

単純な数式 (=128+345 など)

次の数式には、定数と演算子が含まれています。

使用例 説明
=128+345 128 と 345 を加算します
=5^2 正方形 5

列参照を含む数式 (=[Revenue] >[Cost] など)

次の数式は、同じリストまたはライブラリ内の他の列を参照します。

使用例 説明
=[収益] [収益] 列の値を使用します。
=[収益]*10/100 [収益] 列の値の 10%。
=[Revenue] > [Cost] [収益] 列の値が [コスト] 列の値より大きい場合は "はい" を返します。

関数を呼び出す数式 (=AVERAGE(1, 2, 3, 4, 5) など)

次の数式は、組み込み関数を呼び出します。

使用例 説明
=AVERAGE(1, 2, 3, 4, 5) 一連の値の平均を返します。
=MAX([Q1], [Q2], [Q3], [Q4]) 一連の引数のうち、最大の数値を返します。
=IF([Cost]>[Revenue], "Not OK", "OK") コストが収益より大きい場合は返品が Not OK です。 それ以外の場合は、OK を返します。
=DAY("2008 年 4 月 15 日") 日付の曜日部分を返します。 この数式は数値 15 を返します。

ネストされた関数を含む数式 (=SUM(IF([A]>[B], [A]-[B], 10), [C])など)

次の数式では、1 つ以上の関数を関数の引数として指定します。

使用例 説明
=SUM(IF([A]>[B], [A]-[B], 10), [C]) IF 関数は、列 A と B の値の差、つまり 10 を返します。
SUM 関数は、IF 関数の戻り値と列 C の値を加算します。
=DEGREES(PI()) PI 関数は数値 3.141592654 を返します。
DEGREES 関数は、ラジアンで指定された値を度に変換します。 この数式は値 180 を返します。
=ISNUMBER(FIND("BD",[Column1])) FIND 関数は、Column1 で文字列 BD を検索し、文字列の開始位置を返します。 文字列が見つからない場合はエラー値を返します。
FIND 関数が数値を返した場合、ISNUMBER 関数は Yes を返します。 それ以外の場合は、Noを返します。

ページの先頭へ

関数の概要

関数とはあらかじめ定義された数式のことで、引数と呼ばれる特定の値を使い、特定の順序 (構造) に従って計算を行います。 関数を使うと、単純な計算だけでなく複雑な計算も行うことができます。 たとえば、次に示す ROUND 関数のインスタンスでは、[コスト] 列の数値を小数点以下 2 桁に丸めます。

=ROUND([Cost], 2)

次の語彙は、関数や数式を学習するときに役立ちます。

構造体 関数の構造は、等号 (=) で始まり、その後に関数名、左かっこ、関数の引数をコンマで区切って、閉じかっこが続きます。

関数名 これは、リストまたはライブラリでサポートされている関数の名前です。 各関数は、特定の数の引数を受け取り、それらを処理し、値を返します。

引数 引数には、数値、文字列、True や False などの論理値、列参照を指定できます。 指定する引数は、その引数の有効な値を生成する必要があります。 定数、数式、または他の関数を引数として渡すこともできます。

ある関数を、別の関数の引数として使用することもできます。 たとえば、次の数式では、入れ子になった AVERAGE 関数を使用して、その結果を 2 つの列の値の合計と比較します。

=AVERAGE([Cost1], SUM([Cost2]+[Discount]))

有効な戻り値 関数を引数として使用する場合、引数が使用するのと同じ型の値を返す必要があります。 たとえば、引数で Yes または No を使用する場合、入れ子になった関数は Yes または No を返す必要があります。 表示されない場合、リストまたはライブラリには #VALUE! エラー値。

入れ子レベルの制限 1 つの数式には、8 レベルまでの入れ子になった関数を含めることができます。 関数 B が関数 A の引数として使用される場合、関数 B は第 2 レベルの関数です。 たとえば、上記の例では、SUM 関数は AVERAGE 関数の引数であるため、第 2 レベルの関数です。 SUM 関数内にネストされた関数は第 3 レベル関数となり、以下同様です。

  • リストとライブラリは、RAND 関数と NOW 関数をサポートしていません。
  • TODAY 関数と ME 関数は、集計列ではサポートされていませんが、列の既定値設定ではサポートされています。

ページの先頭へ

数式での列参照の使用

参照は、現在の行のセルを識別し、数式で使用する値やデータを検索する場所をリストまたはライブラリに示します。 たとえば、[Cost] は、現在の行の [Cost] 列の値を参照します。 現在の行の "コスト" 列の値が 100 の場合、=[Cost]*3 は 300 を返します。

参照を使用すると、リストまたはライブラリの異なる列に格納されるデータを 1 つ以上の数式で使用できます。 数式で参照できるデータ型は、1 行のテキスト、数値、通貨、日付と時刻、選択肢、はい/いいえ、計算された列です。

列の表示名を使用して、数式内で参照します。 名前にスペースまたは特殊文字が含まれている場合は、角かっこ ([ ]) で囲む必要があります。 参照では大文字と小文字は区別されません。 たとえば、数式の "単価" 列は [単価] または [単価] として参照できます。

  • 現在の行以外の行の値を参照することはできません。
  • 別のリストまたはライブラリ内の値を参照することはできません。
  • 新しく挿入された行の行の ID を参照することはできません。 計算を実行した時点で ID はまだ存在しません。
  • 列の既定値を作成する数式内で別の列を参照することはできません。

ページの先頭へ

数式での定数の使用

定数は計算されない値です。 たとえば、日付 "2008/10/9"、数値 "210"、文字列 "四半期の収益" はすべて定数です。 定数のデータ型は次のとおりです。

  • 文字列 (例: =[Last Name] = "Smith")
    文字列定数は引用符で囲み、最大 255 文字を含めることができます。
  • 数値 (例: =[Cost] >= 29.99)
    数値定数には小数点以下の桁を含めることができ、正または負を指定できます。
  • 日付 (例: =[Date] > DATE(2007,7,1))
    日付定数では、DATE(年、月、日) 関数を使用する必要があります。
  • ブール値 (例: =IF([Cost]>[Revenue], "Loss", "No Loss")
    Yes と No はブール定数です。 条件式で使用できます。 上記の例では、Cost が Revenue より大きい場合、IF 関数は Yes を返し、数式は文字列 "Loss" を返します。 Cost が Revenue 以下の場合、関数は No を返し、数式は文字列 "No Loss" を返します。

ページの先頭へ

数式に計算演算子を使用する

演算子は、数式の要素に対して実行する計算の種類を指定します。 リストとライブラリは、算術演算子、比較演算子、文字列演算子の 3 種類をサポートしています。

算術演算子

次の算術演算子を使用して、加算、減算、乗算などの基本的な算術演算を実行します。数字を組み合わせる;または数値の結果を生成します。

算術演算子 意味 (例)
+ (正符号) 加算 (3+3)
- (負符号) 減算 (3-1)
否定 (-1)
* (アスタリスク) 乗算 (3*3)
/ (スラッシュ) 除算 (3/3)
% (パーセント記号) パーセント (20%)
^ (キャレット) 累乗 (3^2)

比較演算子

2 つの値を比較する場合は、次の比較演算子を使います。 これらの演算子を使用して 2 つの値を比較すると、結果は Yes または No の論理値になります。

比較演算子 意味 (例)
= (等号) 等しい (A=B)
> (大なり記号) より大きい (A>B)
< (より小記号) より小さい (A<B)
>= (より大か等しい記号) 以上 (A>=B)
<= (より小か等しい記号) 以下 (A<=B)
<> (不等号) 等しくない (A<>B)

文字列演算子

文字列演算子のアンパサンド (&) を使って、1 つ以上の文字列を結合または連結して、1 つの文字列を作成します。

文字列演算子 意味 (例)
& (アンパサンド) 2 つの値を結合、または連結して、1 つの連続するテキスト値 ("北"&"風") を作成する

リストまたはライブラリが数式の演算を実行する順序

数式では、特定の順序で値が計算されます。 数式は先頭に等号 (=) を入力します。 等号の後に計算される要素(オペランド)が続き、計算演算子で区切られます。 リストとライブラリは、数式内の各演算子の特定の順序に従って、数式を左から右に計算します。

演算子の優先順位

複数の演算子を組み合わせて 1 つの数式にすると、リストおよびライブラリは次の表に示す順序で演算を実行します。 同じ優先順位の演算子が数式に含まれる場合 (たとえば、数式に乗算演算子と除算演算子の両方が含まれている場合)、リストとライブラリは左から右に演算子を評価します。

演算子 説明
負の値 (-1 など)
% パーセンテージ
^ 累乗
* および / 乗算または除算
+ または - 加算または減算
& 連結 (2 つの文字列を接続する)
= <><= >= <> 比較

かっこの使用

評価の順序を変更するには、数式の中で最初に計算する部分をかっこで囲みます。 たとえば、リストまたはライブラリは加算の前に乗算を計算するため、次の数式では 11 が生成されます。 つまり、この数式ではまず 2 と 3 が乗算され、その結果に 5 が加算されます。

=5+2*3

一方、かっこを使用して構文を変更すると、リストまたはライブラリは 5 と 2 を合計してから、結果に 3 を乗算して 21 を生成します。

=(5+2)*3

次の例では、数式の最初の部分を囲むかっこは、リストまたはライブラリに最初に [Cost]+25 を計算してから、結果を列 EC1 と EC2 の値の合計で除算するように強制します。

=([Cost]+25)/SUM([EC1]+[EC2])

ページの先頭へ