計算式(拡張)の関数
概要¶
計算式(拡張)で利用できる関数です。
注意事項¶
- 本ページに記載の関数は 計算式タブで計算方法に[拡張]を選択した場合に利用できます。詳細な設定手順は「テーブルの管理:計算式(拡張)」を参照してください。
- 数値項目の小数点以下桁数設定により、入力・表示できる小数桁に制限がある場合があります。必要に応じて、該当項目の詳細設定を確認してください。
- 計算式(拡張)で行う数値計算では、一般的な浮動小数点数計算の性質に起因する小さな誤差が生じることがあります。これは、十進小数の一部(例:0.1、0.2 など)が二進小数で表現できないため、近似値で計算されることに伴うものです。類似の現象は多くのソフトウェア環境でも確認できます。金額や数量など、整数を期待する計算や、誤差により条件分岐の結果が変わり得る処理では、比較・保存の前に丸め処理($ROUNDなど)を行うことを推奨します。
たとえば、数値項目Aに32.8を、数値項目Bに3095を、数値項目Cに両者を掛け算して、小数点以下を切り捨てた結果を入れるとします。数値項目Cには101516が入って欲しいのですが、実際は誤差により101515が入ります。
| 項目 | 設定 | 内容 |
|---|---|---|
| 数値A | 小数点以下桁数:1 | 32.8 |
| 数値B | 小数点以下桁数:0 | 3095 |
| 数値C | $ROUNDDOWN(数値A * 数値B, 0) | 期待される結果:101516 実際の結果:101515 |
Webブラウザの開発者ツールで、簡易に確認できます。[F12]キーを押下してコンソールを開きます。
> 32.8*3095
101515.99999999999 // 101516ではなく、誤差が発生
> Math.floor(32.8*3095,0) // 0.99999999999が切り捨てられる
101515
このような誤差を回避するには、$ROUNDで誤差を吸収し、整数化した後に$ROUNDDOWNで切り捨てします。
| 項目 | 設定 | 内容 |
|---|---|---|
| 数値C | $ROUNDDOWN($ROUND(数値A * 数値B, 0), 0) | 期待される結果:101516 実際の結果:101516 |
計算式の関数一覧¶
日付/時刻¶
| No | 関数名 | 説明 |
|---|---|---|
| 1 | $DATE | 日付を生成します。 |
| 2 | $DATEDIF | 2つの日付の間の日数、月数、または年数を計算します。 |
| 3 | $DATETIME | 日時を生成します。 |
| 4 | $DAY | 日付の日数を取得します。 |
| 5 | $DAYS | 2つの日付間の日数を求めます。 |
| 6 | $EOMONTH | 開始日から起算して指定された月数の前または後の月の最終日を求めます。 |
| 7 | $HOUR | 日付の時間を取得します。 |
| 8 | $MINUTE | 日付の分を取得します。 |
| 9 | $MONTH | 日付の月を取得します。 |
| 10 | $NOW | 現在の日時を取得します。 |
| 11 | $SECOND | 日付の秒を取得します。 |
| 12 | $TODAY | 現在の日付を取得します。 |
| 13 | $WEEKDAY | 日付に対応する曜日を返します。 |
| 14 | $YEAR | 日付の年を取得します。 |
文字列操作¶
| No | 関数名 | 説明 |
|---|---|---|
| 1 | $ASC | 全角文字を半角文字に変換します。 |
| 2 | $CONCAT | 指定した文字列を結合します。 |
| 3 | $FIND | 検索文字列を対象の文字列の中で検索し、検索文字列が最初に現れる位置を左端から数えた結果を求めます。検索は大文字小文字は区別されます。 |
| 4 | $JIS | 半角文字を全角文字に変換します。 |
| 5 | $LEFT | 文字列の先頭から指定された数の文字を返します。 |
| 6 | $LEN | 文字列の文字数を返します。 |
| 7 | $LOWER | 文字列に含まれる英大文字を英小文字に変換します。 |
| 8 | $MID | 文字列の指定位置から指定された数の文字を返します。 |
| 9 | $REPLACE | 対象の文字列に対して指定した文字数の文字を別の文字に変換します。 |
| 10 | $RIGHT | 文字列の末尾から指定された数の文字を返します。 |
| 11 | $SEARCH | 検索文字列を対象の文字列の中で検索し、検索文字列が最初に現れる位置を左端から数えた結果を求めます。検索は大文字小文字は区別されません。 |
| 12 | $SUBSTITUTE | 対象の文字列内にある特定の文字列を指定した文字列に変換します。 |
| 13 | $TEXT | 表示形式を適用した文字列に変換します。 |
| 14 | $TRIM | 文字列に含まれる不要なスペースを取り除きます。 |
| 15 | $UPPER | 文字列に含まれる英小文字を英大文字に変換します。 |
| 16 | $VALUE | 文字列として入力されている数字を数値に変換します。 |
論理¶
| No | 関数名 | 説明 |
|---|---|---|
| 1 | $AND | 全ての引数がTRUEの場合にTRUEを返します。 |
| 2 | $IF | 論理式の結果(TRUEかFALSE)に応じて、指定された値を返します。 |
| 3 | $IFERROR | 値がエラーの場合に指定した値を返します。エラーでない場合は値を返します。 |
| 4 | $IFS | 1つ以上の条件が満たされるかどうかを確認し、最初の真条件に対応する値を返します。 |
| 5 | $NOT | 引数がFALSEの場合はTRUE、TRUEの場合はFALSEを返します。 |
| 6 | $OR | いずれかの引数がTRUEのとき、TRUEを返します。引数がすべてFALSEである場合は、FALSEを返します。 |
情報¶
| No | 関数名 | 説明 |
|---|---|---|
| 1 | $ISBLANK | 引数が空欄の場合にtrueを返します。 |
| 2 | $ISERROR | 引数がエラーの場合にtrueを返します。 |
| 3 | $ISEVEN | 引数に指定した数値が偶数のときTRUEを返し、奇数のときFALSEを返します。 |
| 4 | $ISNUMBER | セルの内容が数値の場合にTRUEを返します |
| 5 | $ISODD | 引数に指定した数値が奇数のときTRUEを返し、偶数のときFALSEを返します |
| 6 | $ISTEXT | セルの内容が文字列である場合にTRUEを返します |
数学¶
| No | 関数名 | 説明 |
|---|---|---|
| 1 | $ABS | 絶対値を返します。 |
| 2 | $MOD | 数値を除算した剰余を返します。 |
| 3 | $POWER | 数値のべき乗を返します。 |
| 4 | $RAND | 0以上で1より小さい実数の乱数を返します。計算するたびに新しい乱数を返します。 |
| 5 | $ROUND | 数値を指定した桁数に四捨五入した値を返します。 |
| 6 | $ROUNDDOWN | 数値を指定した桁数で切り捨てます。 |
| 7 | $ROUNDUP | 数値を指定した桁数で切り上げます。 |
| 8 | $SQRT | 正の平方根を返します。 |
| 9 | $TRUNC | 数値の小数部を切り捨てて、整数または指定した桁数に変換します。 |
統計¶
| No | 関数名 | 説明 |
|---|---|---|
| 1 | $AVERAGE | 引数の平均値を返します。 |
| 2 | $MAX | 引数の最大値を返します。論理値および文字列は無視されます。 |
| 3 | $MIN | 引数の最小値を返します。論理値および文字列は無視されます。 |
