リストまたはライブラリで数式や関数を使用して、さまざまな方法でデータを算出できます。リストやライブラリに集計列を追加すると、他の列のデータに基いて日時を算出したり、算術演算を処理したり、文字列を操作したりする数式を作成できます。たとえば、タスク リスト上に、各作業の [開始日] 列と [終了日] 列の値に基づいて、その作業に要した日数を計算して表示する列を用意できます。
メモ
この記事では、数式と関数の使用法に関する基礎的な概念について説明します。個々の関数に固有の情報については、該当する関数に関する記事を参照してください。
この記事の内容
数式の概要
関数の概要
数式で列参照を使用する
数式で定数を使用する
数式で計算演算子を使用する
数式の概要
数式とは、リストまたはライブラリの値を計算する等式のことです。数式は、等号 (=) で始まります。たとえば、次の数式は 2 と 3 を乗算し、その結果に 5 を加算します。
=5+2*3
集計列で数式を使用し、その列の既定値を計算できます。数式では、次の例に示すように、関数 (関数 : 値を使って計算し、その結果の値を返すあらかじめ定義された数式。関数を使うと、長く複雑な数式を短く簡単にすることができます。)、列参照、演算子 (演算子 : 式を構成する記号や単語。これにより、実行する計算の種類を指定します。演算子には、算術演算子、関係演算子、論理演算子、参照演算子などがあります。)、および定数 (定数 : 計算されない、したがって変化しない値。たとえば、210 という数値、"四半期売上" という文字列などは、定数です。式や式の計算結果の値は定数ではありません。)を使用できます。
=PI()*[Result]^2
要素 | 説明 |
---|
関数 | PI() 関数は円周率 (3.141592654) の値を返します。 |
参照 (または列名) | [Result] は、現在の行の Result 列の値を表します。 |
定数 | 数式に直接入力される数値や文字列の値 (上の例では 2) です。 |
演算子 | * (アスタリスク) 演算子は乗算を行い、^ (キャレット) 演算子は数値のべき乗を求めます。 |
数式では、上の表の 1 つ以上の要素が使用されることがあります。次に、いくつかの数式の例を、簡単なものから順に示します。
簡単な数式 (=128+345 など)
次の数式では、定数と演算子を使用しています。
例 | 説明 |
---|
=128+345 | 128 に 345 を加算します。 |
=5^2 | 5 を 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])
ページの先頭へ