一般的な式の例

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

リストまたはライブラリの集計列で、次の例を使用できます。列参照を含まない例については、列の既定値を指定するために使用できます。

この記事の内容

条件付き数式

日付と時刻の数式

数式

テキストの数式

条件式

次の式を使用すると、ステートメントの条件をテストして Yes または No 値を返したり、OK または Not OK などの代替値をテストしたり、null 値を表す空白またはダッシュを返したりできます。

ある数値が別の数値より大きいか小さいかを確認する

この比較を行うには、IF 関数を使用します。

列 1

列 2

説明 (予想される結果)

15000

9000

=[列 1]>[列 2]

列 1 の値が列 2 の値より大きいかどうかを調べます (Yes)

15000

9000

=IF([列 1]<=[列 2], "OK", "Not OK")

列 1 の値が列 2 の値以下かどうかを調べます (Not OK)

列の内容の比較後に論理値を返す

論理値 (Yes または No) の結果を返すには、AND 関数、OR 関数、および NOT 関数を使用します。

列 1

列 2

列 3

説明 (予想される結果)

1500

9

3.6

=AND([列 1]>[列 2], [列 1]<[列 3])

15 が 9 より大きく、かつ 8 より小さいかどうかを調べます (No)

1500

9

3.6

=OR([列 1]>[列 2], [列 1]<[列 3])

15 が 9 より大きいか、または 8 より小さいかどうかを調べます (Yes)

1500

9

3.6

=NOT([列 1]+[列 2]=24)

15 に 9 を加算した結果が 24 に等しくないかどうかを調べます (No)

別の計算の結果、または Yes/No 以外の値を使用する場合は、IF 関数、AND 関数、または OR 関数を使用します。

列 1

列 2

列 3

説明 (予想される結果)

1500

9

3.6

=IF([列 1]=15, "OK", "Not OK")

列 1 の値が 15 と等しい場合、"OK" を返します (OK)

1500

9

3.6

=IF(AND([列 1]>[列 2], [列 1]<[列 3]), "OK", "Not OK")

15 が 9 より大きく、かつ 8 より小さい場合、"OK" を返します (Not OK)

1500

9

3.6

=IF(OR([列 1]>[列 2], [列 1]<[列 3]), "OK", "Not OK")

15 が 9 より大きいか、または 8 より小さい場合、"OK" を返します (OK)

空白またはダッシュとして 0 を表示する

0 を表示するには、簡単な計算を行います。空白またはダッシュを表示するには、IF 関数を使用します。

Column1

列 2

説明 (予想される結果)

10

10

=[列 1]-[列 2]

1 つ目の数値から 2 つ目の数値を減算します (0)

1500

9

=IF([列 1]-[列 2],"-",[列 1]-[列 2])

値が 0 の場合、ダッシュを返します (-)

列のエラー値を非表示にする

エラー値の代わりにダッシュ、#N/A、または NA を表示するには、ISERROR 関数を使用します。

列 1

列 2

説明 (予想される結果)

10

0

=[列 1]/[列 2]

エラーの結果 (#DIV/0)

10

0

=IF(ISERROR([列 1]/[列 2]),"NA",[列 1]/[列 2])

値がエラーの場合、NA を返します

10

0

=IF(ISERROR([列 1]/[列 2]),"-",[列 1]/[列 2])

値がエラーの場合、ダッシュを返します

ページの先頭へ

日付と時刻の式

次の式を使用すると、日付に日数、月数、年数を加算する、2 つの日付間の差分を計算する、時刻を 10 進値に変換するなど、日付と時刻に基づく計算を行うことができます。

日付を加算する

日付に日数を加算するには、加算演算子 (+) を使用します。

注: 日付を操作するときは、集計列の戻り値の型を [日付と時刻] に設定する必要があります。

列 1

列 2

説明 (結果)

2007/6/9

76

=[列 1]+[列 2]

2007/06/09 に 3 日分の日数を加算します (2007/06/12)

2008/12/10

12

=[列 1]+[列 2]

2008/12/10 に 54 日分の日数を加算します (2009/02/02)

日付に月数を加算するには、DATE、YEAR、MONTH、および DAY 関数を使用します。

列 1

列 2

説明 (結果)

2007/6/9

76

=DATE(YEAR([列 1]),MONTH([列 1])+[列 2],DAY([列 1]))

2007/06/09 に 3 か月分の月数を加算します (2007/09/09)

2008/12/10

2500

=DATE(YEAR([列 1]),MONTH([列 1])+[列 2],DAY([列 1]))

2008/12/10 に 25 か月分の月数を加算します (2011/01/10)

日付に年数を加算するには、DATE、YEAR、MONTH、および DAY 関数を使用します。

列 1

列 2

説明 (結果)

2007/6/9

76

=DATE(YEAR([列 1])+[列 2],MONTH([列 1]),DAY([列 1]))

2007/06/09 に 3 年分の年数を加算します (2010/06/09)

2008/12/10

2500

=DATE(YEAR([列 1])+[列 2],MONTH([列 1]),DAY([列 1]))

2008/12/10 に 25 年分の年数を加算します (2033/12/10)

日付に日数、月数、年数を組み合わせて加算するには、DATE、YEAR、MONTH、および DAY 関数を使用します。

列 1

説明 (結果)

2007/06/09

=DATE(YEAR([列 1])+3,MONTH([列 1])+1,DAY([列 1])+5)

2007/06/09 に 3 年、1 か月、5 日分の年数、月数、日数を加算します (2010/07/14)

2008/12/10

=DATE(YEAR([列 1])+1,MONTH([列 1])+7,DAY([列 1])+5)

2008/12/10 に 1 年、7 か月、5 日分の年数、月数、日数を加算します (2010/07/15)

2 つの日付間の差分を計算する

この計算を行うには、DATEDIF 関数を使用します。

列 1

列 2

説明 (結果)

1995/01/01

1999/06/15

=DATEDIF([列 1], [列 2],"d")

2 つの日付の日数差を返します (1626)

1995/01/01

1999/06/15

=DATEDIF([列 1], [列 2],"ym")

年の部分は無視して、2 つの日付の差を月数で返します (5)

1995/01/01

1999/06/15

=DATEDIF([列 1], [列 2],"yd")

年の部分は無視して、2 つの日付の日数差を返します (165)

2 つの時刻の差を計算する

結果を標準の時刻の形式 (時 : 分 : 秒) で表示するには、減算演算子 (-) と TEXT 関数を使用します。このメソッドが機能するためには、時間が 24 未満で、分と秒が 60 未満である必要があります。

列 1

列 2

説明 (結果)

2007/06/09 午前 10:35

2007/06/09 午後 3:30

=TEXT([列 2]-[列 1],"h")

2 つの時刻間の時間数を求めます (4)

2007/06/09 午前 10:35

2007/06/09 午後 3:30

=TEXT([列 2]-[列 1],"h:mm")

2 つの時刻間の時間数と分数を求めます (4:55)

2007/06/09 午前 10:35

2007/06/09 午後 3:30

=TEXT([列 2]-[列 1],"h:mm:ss")

2 つの時刻間の時間数、分数、秒数を求めます (4:55:00)

結果全体を 1 つの時間単位で表示するには、INT、HOUR、MINUTE、または SECOND 関数を使用します。

列 1

列 2

説明 (結果)

2007/06/09 午前 10:35

2007/06/10 午後 3:30

=INT(([列 2]-[列 1])*24)

2 つの時刻間の総時間数を求めます (28)

2007/06/09 午前 10:35

2007/06/10 午後 3:30

=INT(([列 2]-[列 1])*1440)

2 つの時刻間の総分数を求めます (1735)

2007/06/09 午前 10:35

2007/06/10 午後 3:30

=INT(([列 2]-[列 1])*86400)

2 つの時刻間の総秒数を求めます (104100)

2007/06/09 午前 10:35

2007/06/10 午後 3:30

=HOUR([列 2]-[列 1])

2 つの時刻間の時間数 (差分が 24 未満の場合) を求めます (4)

2007/06/09 午前 10:35

2007/06/10 午後 3:30

=MINUTE([列 2]-[列 1])

2 つの時刻間の分数 (差分が 60 未満の場合) を求めます (55)

2007/06/09 午前 10:35

2007/06/10 午後 3:30

=SECOND([列 2]-[列 1])

2 つの時刻間の秒数 (差分が 60 未満の場合) を求めます (0)

時間を変換する

時間を標準の時刻の形式から 10 進数に変換するには、INT 関数を使用します。

列 1

説明 (結果)

午前 10:35

=([列 1]-INT([列 1]))*24

午前 12:00 以降の時間数を 10 進数で求めます (10.583333)

午後 12:15

=([列 1]-INT([列 1]))*24

午前 12:00 以降の時間数を 10 進数で求めます (12.25)

時間を 10 進数から標準の時刻の形式 (時 : 分 : 秒) に変換するには、除算演算子と TEXT 関数を使用します。

列 1

説明 (結果)

23:58

=TEXT(列 1/24, "hh:mm:ss")

午前 12:00 以降の時間数、分数、秒数を求めます (00:59:55)

2:06

=TEXT(列 1/24, "h:mm")

午前 12:00 以降の時間数および分数を求めます (0:05)

ユリウス日を挿入する

ユリウス日は、現在の年と 1 月 1 日からの通算日数とを組み合わせた日付形式です。たとえば、2007 年 1 月 1 日は 2007001 と表され、2007 年 12 月 31 日は 2007365 と表されます。この形式はユリウス暦に基づいているわけではありません。

日付をユリウス日に変換するには、TEXT 関数と DATEVALUE 関数を使用します。

列 1

説明 (結果)

2007/06/23

=TEXT([列 1],"yy")&TEXT(([列 1]-DATEVALUE(TEXT([列 1],"yy")&"/1/1")+1),"000")

日付を 2 桁の年のユリウス日で表示します (07174)

2007/06/23

=TEXT([列 1],"yyyy")&TEXT(([列 1]-DATEVALUE(TEXT([列 1],"yy")&"/1/1")+1),"000")

日付を 4 桁の年のユリウス日で表示します (2007174)

天文学で使用されるユリウス日に変換するには、定数 2415018.50 を使用します。この式は、1900 年から計算する日付システムで、1901 年 3 月 1 日より後の日付に対してのみ使用できます。

列 1

説明 (結果)

2007/06/23

=[列 1]+2415018.50

天文学で使用されるユリウス暦の形式で日付を表示します (2454274.50)

日付を曜日として表示する

曜日を表す文字列に日付を変換するには、TEXT 関数と WEEKDAY 関数を使用します。

列 1

説明 (予想される結果)

2007/02/19

=TEXT(WEEKDAY([列 1]), "dddd")

指定した日付の曜日を計算し、その曜日の完全表記を返します (Monday)

2008/01/03

=TEXT(WEEKDAY([列 1]), "ddd")

指定した日付の曜日を計算し、曜日の略語を返します (Thu)

ページの先頭へ

数式

次の式を使用すると、数値を加算、減算、乗算、除算する、数値の平均値やメジアンを求める、数値を丸める、値の数を数えるなど、数学に関するさまざまな計算を行うことができます。

数値を加算する

連続した複数の列の数値の和を求めるには、加算演算子 (+) または SUM 関数を使用します。

列 1

列 2

列 3

説明 (結果)

2.7

5

1.8

=[列 1]+[列 2]+[列 3]

列 1 から列 3 までの値を加算します (15)

2.7

5

1.8

=SUM([列 1],[列 2],[列 3])

列 1 から列 3 までの値を加算します (15)

2.7

5

1.8

=SUM(IF([列 1]>[列 2], [列 1]-[列 2], 10), [列 3])

列 1 の値が列 2 の値より大きい場合は、その差と列 3 の値を加算します。それ以外の場合は、10 と列 3 を加算します (5)

数値を減算する

連続した複数の列の数値の差を求めるには、減算演算子 (-)、または負の数値を指定した SUM 関数を使用します。

列 1

列 2

列 3

説明 (結果)

15000

9000

-8000

=[列 1]-[列 2]

15000 から 9000 を減算します (6000)

15000

9000

-8000

=SUM([列 1], [列 2], [列 3])

列 1 から列 3 までの値 (負の値を含む) を加算します (16000)

2 つの数値の差をパーセンテージとして計算する

減算演算子 (-) および除算演算子 (/) と ABS 関数を使用します。

列 1

列 2

説明 (結果)

230000

250000

=([列 2]-[列 1])/ABS([列 1])

2 つの値の変化率を求めます (6.75% または 0.06746)

数値の積を求める

連続した複数の列の数値の積を求めるには、乗算演算子 (*) または PRODUCT 関数を使用します。

列 1

列 2

説明 (結果)

5

51

=[列 1]*[列 2]

列 1 と列 2 の数値の積を求めます (10)

5

51

=PRODUCT([列 1], [列 2])

列 1 と列 2 の数値の積を求めます (10)

5

51

=PRODUCT([列 1],[列 2],2)

列 1 と列 2 の数値と 2 の積を求めます (20)

数値を除算する

連続した複数の列の数値を除算するには、除算演算子 (/) を使用します。

列 1

列 2

説明 (計算結果)

15000

5.4

=[列 1]/[列 2]

15000 を 12 で割ります (1250)

15000

5.4

=([列 1]+10000)/[列 2]

15000 と 10000 の和を求め、それを 12 で割ります (2083)

数値の平均を計算する

平均値は平均とも呼ばれます。連続した複数の列の数値の平均値を求めるには、AVERAGE 関数を使用します。

列 1

列 2

列 3

説明 (結果)

2.7

5

1.8

=AVERAGE([列 1], [列 2],[列 3])

列 1 から列 3 までの数値の平均値を求めます (5)

2.7

5

1.8

=AVERAGE(IF([列 1]>[列 2], [列 1]-[列 2], 10), [列 3])

列 1 の値が列 2 の値より大きい場合は、その差と列 3 の平均値を求めます。それ以外の場合は、値 10 と列 3 の平均値を求めます (2.5)

数値の中央値を計算する

メジアンとは、数値を大きさの順に並べたときに中央の位置にくる数値のことです。数値のグループのメジアンを計算するには、MEDIAN 関数を使用します。

A

B

C

d

E

F

説明 (結果)

10

7

9

27

0

1.8

=MEDIAN(A, B, C, D, E, F)

列 A から列 F までの数値のメジアンを求めます (8)

範囲内の最小数または最大数を計算する

連続した複数の列の最小値または最大値を求めるには、MIN 関数および MAX 関数を使用します。

列 1

列 2

列 3

説明 (結果)

10

7

9

=MIN([列 1], [列 2], [列 3])

最小値を求めます (7)

10

7

9

=MAX([列 1], [列 2], [列 3])

最大値を求めます (10)

値をカウントする

数値の数を数えるには、COUNT 関数を使用します。

列 1

列 2

列 3

説明 (結果)

りんご

2007/12/12

=COUNT([列 1], [列 2], [列 3])

数値が格納されている列の数を数えます。日付と時刻、文字列、および null 値は除外されます (0)

$12

#DIV/0!

1.01

=COUNT([列 1], [列 2], [列 3])

数値 (エラーのある値および論理値は除外) が格納されている列の数を数えます (2)

一定の割合で数値を増加または減少させる

この計算を行うには、パーセント演算子 (%) を使用します。

列 1

列 2

説明 (計算結果)

23

3%

=[列 1]*(1+5%)

列 1 の数値を 5% 増加させます (24.15)

23

3%

=[列 1]*(1+[列 2])

列 1 の数値を列 2 の割合 (3%) で増加させます (23.69)

23

3%

=[列 1]*(1-[列 2])

列 1 の数値を列 2 の割合 (3%) で減少させます (22.31)

数値のべき乗を求める

この計算を行うには、指数演算子 (^) または POWER 関数を使用します。

列 1

列 2

説明 (結果)

5

51

=[列 1]^[列 2]

5 の 2 乗を計算します (25)

5

76

=POWER([列 1], [列 2])

5 の 3 乗を計算します (125)

数値を丸める

数値を丸めるには、ROUNDUP、ODD、または EVEN 関数を使用します。

列 1

説明 (結果)

20.3

=ROUNDUP([列 1],0)

20.3 を 1 の位に切り上げます (21)

-5.9

=ROUNDUP([列 1],0)

-5.9 を 1 の位に切り上げます (-5)

12.5493

=ROUNDUP([列 1],2)

12.5493 を小数第 2 位に切り上げます (12.55)

20.3

=EVEN([列 1])

20.3 を偶数の値に切り上げます (22)

20.3

=ODD([列 1])

20.3 を奇数の値に切り上げます (21)

数値を切り捨てるには、ROUNDDOWN 関数を使用します。

列 1

説明 (結果)

20.3

=ROUNDDOWN([列 1],0)

20.3 の小数点以下を切り捨てます (20)

-5.9

=ROUNDDOWN([列 1],0)

-5.9 の小数点以下を切り捨てます (-6)

12.5493

=ROUNDDOWN([列 1],2)

12.5493 を小数第 2 位までに切り捨てます (12.54)

数値を整数または小数に四捨五入するには、ROUND 関数を使用します。

列 1

説明 (結果)

20.3

=ROUND([列 1],0)

20.3 を小数第 1 位で四捨五入します (20)

5.9

=ROUND([列 1],0)

5.9 を小数第 1 位で四捨五入します (6)

-5.9

=ROUND([列 1],0)

-5.9 を絶対値が大きいほうの値に小数第 1 位で四捨五入します (-6)

1.25

=ROUND([列 1], 1)

数値を小数第 1 位に四捨五入します。四捨五入の対象となる桁が 0.05 以上なので、数値が切り上げられます (結果: 1.3)

30.452

=ROUND([列 1], 2)

数値を小数第 2 位に四捨五入します。四捨五入の対象となる桁が 0.005 未満 (0.002) なので、数値が切り捨てられます (結果: 30.45)

数値を 0 より上の有効数字に四捨五入するには、ROUND、ROUNDUP、ROUNDDOWN、INT、および LEN 関数を使用します。

列 1

説明 (結果)

5492820

=ROUND([列 1],3-LEN(INT([列 1])))

5492820 を上位 3 桁の 1 万の位に四捨五入します (5490000)

22230

=ROUNDDOWN([列 1],3-LEN(INT([列 1])))

22230 の上位 3 桁の 100 の位まで残し、それより下の桁を切り捨てます (22200)

5492820

=ROUNDUP([列 1], 5-LEN(INT([列 1])))

5492820 を上位 5 桁の 100 の位に切り上げます (5492900)

ページの先頭へ

文字列の式

次の式を使用すると、複数の列の値を結合または連結する、列の内容を比較する、文字またはスペースを削除する、文字を繰り返し表示するなどの文字列の操作を行うことができます。

文字列の大文字、小文字の変換を行う

文字列の大文字小文字を変更するには、UPPER 関数、LOWER 関数、または PROPER 関数を使用します。

列 1

説明 (結果)

nina Vietzen

=UPPER([列 1])

文字列をすべて大文字に変換します (NINA VIETZEN)

nina Vietzen

=LOWER([列 1])

文字列をすべて小文字に変換します (nina vietzen)

nina Vietzen

=PROPER([列 1])

文字列の単語の先頭を大文字に変換します (Nina Vietzen)

姓と名を結合する

姓と名を結合するには、アンパサンド演算子 (&) または CONCATENATE 関数を使用します。

列 1

列 2

説明 (結果)

Carlos

Carvallo

=[列 1]&[列 2]

2 つの文字列を結合します (CarlosCarvallo)

Carlos

Carvallo

=[列 1]&" "&[列 2]

2 つの文字列を結合し、間をスペースで区切ります (Carlos Carvallo)

Carlos

Carvallo

=[列 2]&", "&[列 1]

2 つの文字列を結合し、間をコンマとスペースで区切ります (Carvallo, Carlos)

Carlos

Carvallo

=CONCATENATE([列 2], ",", [列 1])

2 つの文字列を結合し、間をコンマで区切ります (Carvallo,Carlos)

異なる列のテキストと数値を結合する

文字列と数値を結合するには、CONCATENATE 関数、アンパサンド演算子 (&)、または TEXT 関数とアンパサンド演算子を使用します。

列 1

列 2

説明 (結果)

Yang

28

=[列 1]&" sold "&[列 2]&" units."

列の内容を 1 つの文字列に結合します (Yang sold 28 units.)

Dubois

40%

=[列 1]&" sold "&TEXT([列 2],"0%")&" of the total sales."

列の内容を 1 つの文字列に結合します (Dubois sold 40% of the total sales.)

注: TEXT 関数は、基になる値 (.4) の代わりに、書式設定された列 2 の値を追加します。

Yang

28

=CONCATENATE([列 1]," sold ",[列 2]," units.")

列の内容を 1 つの文字列に結合します (Yang sold 28 units.)

テキストを日付または時刻と結合する

文字列を日付または時刻と結合するには、TEXT 関数とアンパサンド演算子 (&) を使用します。

列 1

列 2

説明 (結果)

請求日

2007/06/05

="請求日: "&TEXT([列 2], "yyyy/MM/dd")

文字列と日付を結合します (請求日: 2007/06/05)

請求日

2007/06/05

=[列 1]&" "&TEXT([列 2], "yyyy/MM/dd")

別々の列に格納されている文字列と日付とを結合して、1 つの列にまとめます (請求日 2007/06/05)

列の内容を比較する

ある列を、別の列または値のリストと比較するには、EXACT 関数または OR 関数を使用します。

列 1

列 2

説明 (予想される結果)

BD122

BD123

=EXACT([列 1],[列 2])

列 1 と列 2 の内容を比較します (No)

BD122

BD123

=EXACT([列 1], "BD122")

列 1 の内容と文字列 "BD122" を比較します (Yes)

列値またはその一部が特定のテキストと一致するかどうかを判断する

列に特定の文字列が含まれているかどうかを調べるには、IF、FIND、SEARCH、および ISNUMBER 関数を使用します。

列 1

説明 (予想される結果)

Vietzen

=IF([列 1]="Vietzen", "OK", "Not OK")

列 1 に格納されている文字列が Vietzen かどうかを調べます (OK)

Vietzen

=IF(ISNUMBER(FIND("v",[列 1])), "OK", "Not OK")

列 1 に文字 v が含まれているかどうかを調べます (OK)

BD123

=ISNUMBER(FIND("BD",[列 1]))

列 1 に BD が含まれているかどうかを調べます (Yes)

空白以外の列をカウントする

空白以外の列の個数を数えるには、COUNTA 関数を使用します。

列 1

列 2

列 3

説明 (結果)

売上

19

=COUNTA([列 1], [列 2])

空白以外の列の個数を数えます (2)

売上

19

=COUNTA([列 1], [列 2], [列 3])

空白以外の列の個数を数えます (2)

テキストから文字を削除する

文字列から文字を削除するには、LEN、LEFT、および RIGHT 関数を使用します。

列 1

説明 (結果)

Vitamin A

=LEFT([列 1],LEN([列 1])-2)

左端から 7 (9-2) 文字を返します (Vitamin)

Vitamin B1

=RIGHT([列 1], LEN([列 1])-8)

右端から 2 (10-8) 文字を返します (B1)

列の先頭と末尾から空白を削除する

列からスペースを削除するには、TRIM 関数を使用します。

列 1

説明 (結果)

 Hello there!

=TRIM([列 1])

先頭と末尾からスペースを削除します (Hello there!)

列内の文字を繰り返す

列に文字を繰り返し表示するには、REPT 関数を使用します。

説明 (結果)

=REPT(".",3)

ピリオドを 3 回繰り返して表示します (...)

=REPT("-",10)

ダッシュを 10 回繰り返して表示します (----------)

ページの先頭へ

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×