戻る 進む ホーム 印刷 検索
SharePoint Server のヘルプと使い方 >  ビジネス インテリジェンス >  ビジネス インテリジェンス >  数式と関数
データ計算の説明
データ計算の説明

リストまたはライブラリで数式や関数を使用して、さまざまな方法でデータを算出できます。リストやライブラリに集計列を追加すると、他の列のデータに基いて日時を算出したり、算術演算を処理したり、文字列を操作したりする数式を作成できます。たとえば、タスク リスト上に、各作業の [開始日] 列と [終了日] 列の値に基づいて、その作業に要した日数を計算して表示する列を用意できます。

 メモ    この記事では、数式と関数の使用法に関する基礎的な概念について説明します。個々の関数に固有の情報については、該当する関数に関する記事を参照してください。

この記事の内容


数式の概要

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

=5+2*3

集計列で数式を使用し、その列の既定値を計算できます。数式では、次の例に示すように、関数 (関数 : 値を使って計算し、その結果の値を返すあらかじめ定義された数式。関数を使うと、長く複雑な数式を短く簡単にすることができます。)、列参照、演算子 (演算子 : 式を構成する記号や単語。これにより、実行する計算の種類を指定します。演算子には、算術演算子、関係演算子、論理演算子、参照演算子などがあります。)、および定数 (定数 : 計算されない、したがって変化しない値。たとえば、210 という数値、"四半期売上" という文字列などは、定数です。式や式の計算結果の値は定数ではありません。)を使用できます。

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

数式では、上の表の 1 つ以上の要素が使用されることがあります。次に、いくつかの数式の例を、簡単なものから順に示します。

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

次の数式では、定数と演算子を使用しています。

説明
=128+345128 に 345 を加算します。
=5^25 を 2 乗します。

列参照のある数式 (=[Revenue] >[Cost] など)

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

説明
=[Revenue]Revenue 列の値を使用します。
=[Revenue]*10/100 Revenue 列の値の 10% です。
=[Revenue] > [Cost] Revenue 列の値が Cost 列の値より大きい場合、Yes を返します。

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

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

説明
=AVERAGE(1, 2, 3, 4, 5)値の平均を返します。
=MAX([Q1], [Q2], [Q3], [Q4])一連の引数のうち、最大の数値を返します。
=IF([Cost]>[Revenue], "Not OK", "OK")Cost の値が Revenue の値より大きい場合、Not OK を返します。それ以外の場合は、OK を返します。
=DAY("15-Apr-2008")日付の日にちの部分を返します。この式の場合は、数値 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 関数を使って、Cost 列の数値を小数第 2 位に四捨五入します。

=ROUND([Cost], 2)

次の語彙を知っていると、関数と数式を理解するうえで役立ちます。

構文   関数の構文は等号 (=) で始まり、その後に関数名、左かっこ、引数 (引数はコンマで区切る)、右かっこを記述します。

関数名   リストまたはライブラリでサポートされる関数の名前です。各関数には特定の数の引数が渡され、この引数が処理されて、値が返されます。

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

関数を、別の関数の引数として使用することが必要な場合があります。たとえば、次の数式では、ネストした AVERAGE 関数を使用し、その関数の結果を 2 つの列の和と比較しています。

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

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

ネスト レベルの制限   数式には、8 レベルまでのネストした関数を指定することができます。関数 A の引数として関数 B を指定すると、関数 B は第 2 レベルの関数となります。上の例では、SUM 関数は AVERAGE 関数の引数なので、第 2 レベルの関数となります。さらに、SUM 関数にネストする関数があった場合、その関数は第 3 レベルになります。

 メモ 

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

 ページの先頭へ

数式で列参照を使用する

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

参照を使用すると、リストまたはライブラリの別の列に格納されているデータを 1 つ以上の数式で使用できます。数式で参照できるデータの種類は、1 行の文字列、数値、通貨、日付と時刻、選択肢、yes/no、計算された値です。

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

 メモ 

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

 ページの先頭へ

数式で定数を使用する

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

  • 文字列型 (String) (例: =[Last Name] = "Smith")

    文字列型 (String) の定数は最大 255 文字から成り、引用符で囲みます。

  • 数値型 (Number) (例: =[Cost] >= 29.99)

    数値型の定数には、小数点以下の値が含まれ、正の値と負の値があります。

  • 日付型 (Date) (例: =[Date] > DATE(2007,7,1))

    日付型 (Date) の定数の場合は、DATE(年,月,日) 関数を使用する必要があります。

  • ブール型 (Boolean) (例: =IF([Cost]>[Revenue], "Loss", "No Loss")

    Yes と No はブール型 (Boolean) の定数です。ブール型の定数は、条件式で使用できます。上の例では、Cost が Revenue より大きい場合、文字列 "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 つの連続する文字列の値を作成する ("North"&"wind")

リストまたはライブラリの数式内での演算の実行順序

数式では、特定の順序で値が計算されます。数式は等号 (=) で始まります。等号の後に、計算対象の要素 (オペランド) を計算演算子で区切って入力します。数式は、数式内のそれぞれの演算子の優先順位に基づいて、左から順に計算されます。

演算子の優先順位

1 つの数式で複数の演算子を使用する場合、次の表に示した順序で計算が実行されます。数式に優先順位が同じ演算子が含まれる場合 (たとえば、乗算演算子と除算演算子が含まれる場合)、左から右の順に計算が実行されます。

演算子説明
-負の値 (-1 など)
%パーセント
^べき算
* または /乗算または除算
+ または -加算または減算
&文字列の結合または連結
= < > <= >= <>比較

かっこの使用

計算順序を変更するには、最初に計算を実行する必要のある数式の要素をかっこで囲みます。たとえば、次の数式では、加算の前に乗算が実行されるため、結果として 11 が返されます。つまり、この数式ではまず 2 と 3 が乗算され、その結果に 5 が加算されます。

=5+2*3

上の数式にかっこを使用して構文を次のように変更すると、まず 5 に 2 が加算され、その結果に 3 が乗算されるため、計算結果は 21 になります。

=(5+2)*3

次の例では、数式の最初の部分にかっこが使用されているため、最初に [Cost]+25 が計算され、その結果が列 EC1 と EC2 の値の和で除算されます。

=([Cost]+25)/SUM([EC1]+[EC2]) ページの先頭へ