Excel 関数の種類

Excelには、関数が用意されています。関数の入力方法や編集方法、エラーが表示された時の対処方法など、覚えておくと便利な知識について学習しましょう。
Excel2021/Excel2019/Excel2016

関数にはどのような種類がありますか?

Excel関数の種類について
Excelで使用できる関数は約350種類あり、次のように分類されています。
Excel2010から追加された関数や、Excel2013から追加された関数もあります。
《関数の種類》
| 関数の分類 | 内 容 |
|---|---|
| 数学/三角 | 三角関数など数学の分野の計算を行います。 |
| 日付/時刻 | 日付や時刻に関する計算を行います。 |
| 論理 | 条件に対する真偽によって答えを返し、処理を行います。 |
| 情報 | 入力したデータの情報を取得します。 |
| 統計 | 絶対偏差や平均値など統計的な処理に関連した計算を行います。 |
| 財務 | 利率や減価償却費などを求めて会計処理に関連した計算を行います。 |
| 検索/行列 | 指定したデータの取り出しや検索などを行うときに使用します。 |
| Web | Webサービスから目的の数値や文字列を取り出すことができる関数です。 |
| 文字列操作 | 文字列を整えたり取り出したりなど文字列に関する編集操作を行います。 |
| データベース | データベースを使用した計算を行います。 |
| エンジニアリング | 複素数を扱った計算など工学的な計算を行います。 |
| 互換性 | 新しい関数に置き換えられ、精度が向上していたり、名前が用途が簡単にわかるものに変更されていたりする関数です。以前のバージョンの Excel との互換性を保つために引き続き使用することができます。 |
数学/三角関数
数学/三角関数は、四則演算(加減乗除)、切り上げや切り捨て、四捨五入といった基本的な計算やさまざまな集計のほか、数学で使われる行列や階乗の計算、三角関数や指数関数の計算を行うときに利用します。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| 数値の集計 | SUM | 数値を合計する |
| SUMIF | 条件を指定して数値を合計する | |
| SUMIFS | 複数の条件を指定して数値を合計する | |
| SUBTOTAL | さまざまな集計値を求める | |
| AGGREGATE | さまざまな集計値を求める | |
| 数値の和と積 | PRODUCT | 積を求める |
| SUMPRODUCT | 配列要素の積を合計する | |
| SUMSQ | 平方和を求める | |
| 配列の平方計算 | SUMX2PY2 | 2つの配列要素の平方和を合計する |
| SUMX2MY2 | 2つの配列要素の平方差を合計する | |
| SUMXMY2 | 2つの配列要素の差の平方和を求める | |
| 数値を丸める | ROUND | 指定した桁数で四捨五入する |
| ROUNDUP | 指定した桁数で切り上げる | |
| ROUNDDOWN/TRUNC | 指定した桁数で切り捨てる | |
| INT | 小数点以下を切り捨てる | |
| CEILING.MATH | 数値を基準値の倍数に切り上げる | |
| CEILING | 数値を基準値の倍数に切り上げる | |
| ISO.CEILING/CEILING.PRECISE | 数値を基準値の倍数に切り上げる | |
| EVEN/ODD | 最も近い偶数または奇数になるように切り上げる | |
| FLOOR.MATH | 数値を基準値の倍数に切り下げる | |
| FLOOR | 数値を基準値の倍数に切り下げる | |
| FLOOR.PRECISE | 数値を基準値の倍数に切り下げる | |
| MROUND | 指定した数値の倍数になるように丸める | |
| 最大公約数と最小公倍数 | GCD | 最大公約数を求める |
| LCM | 最小公倍数を求める | |
| 商と余り | MOD | 余りを求める |
| QUOTIENT | 整数商を求める | |
| 絶対値 | ABS | 絶対値を求める |
| 数値の符号 | SIGN | 正負を調べる |
| 順列と組み合わせ | FACT | 階乗を求める |
| FACTDOUBLE | 二重階乗を求める | |
| PERMUT | 順列の数を求める | |
| PERMUTATIONA | 重複順列の数を求める | |
| COMBIN | 組み合わせの数を求める | |
| COMBINA | 重複組み合わせの数を求める | |
| MULTINOMIAL | 多項係数を求める | |
| 円周率 | PI | 円周率πの近似値を求める |
| 平方根 | SQRT | 平方根を求める |
| SQRTPI | 円周率πの倍数の平方根を求める | |
| べき級数 | SERIESSUM | べき級数を求める |
| 指数関数 | POWER | べき乗を求める |
| EXP | 自然対数の底eのべき乗を求める | |
| 対数関数 | LOG | 任意の数値を底とする対数を求める |
| LOG10 | 常用対数を求める | |
| LN | 自然対数を求める | |
| 度とラジアン | RADIANS | 度をラジアンに変換する |
| DEGREES | ラジアンを度に変換する | |
| 三角関数 | SIN | 正弦を求める |
| COS | 余弦を求める | |
| TAN | 正接を求める | |
| CSC | 余割を求める | |
| SEC | 正割を求める | |
| COT | 余接を求める | |
| 逆三角関数 | ASIN | 逆正弦を求める |
| ACOS | 逆余弦を求める | |
| ATAN | 逆正接を求める | |
| ATAN2 | x-y座標から逆正接を求める | |
| ACOT | 逆余接を求める | |
| 双曲線関数 | SINH | 双曲線正弦を求める |
| COSH | 双曲線余弦を求める | |
| TANH | 双曲線正接を求める | |
| CSCH | 双曲線余割を求める | |
| SECH | 双曲線正割を求める | |
| COTH | 双曲線余接を求める | |
| 逆双曲線関数 | ASINH | 双曲線逆正弦を求める |
| ACOSH | 双曲線逆余弦を求める | |
| ATANH | 双曲線逆正接を求める | |
| ACOTH | 双曲線逆余接を求める | |
| 行列と行列式 | MDETERM | 行列の行列式を求める |
| MINVERSE | 行列の逆行列を求める | |
| MMULT | 2つの行列の積を求める | |
| MUNIT | 単位行列を求める | |
| 乱数 | RANDBETWEEN | 乱数を発生させる(整数) |
| RAND | 乱数を発生させる(0以上1未満の整数) |
日付/時刻関数
日付/時刻関数は、現在の日付や時刻を得る関数、年月日・時分秒とその内部的な数値(シリアル値)を変換する関数など、日時に関連するデータの計算を行うときに利用します。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| 日付と時刻 | TODAY/NOW | 現在の日付、または現在の日付と時刻を求める |
| 年月日の取得 | YEAR | 日付から「年」を取り出す |
| 時分秒の取得 | HOUR | 時刻から「時」を取り出す |
| 曜日の取得 | WEEKDAY | 日付から曜日を取り出す |
| 日付の変換 | DATESTRING | 日付を和暦に変換する |
| 週番号の取得 | WEEKNUM | 日付が何週目かを求める |
| ISOWEEKNUM | ISO8601方式で日付が何週目かを求める | |
| 期日 | EDATE | 数カ月前や数カ月後の日付を求める |
| EOMONTH | 数カ月前や数カ月後の月末を求める | |
| WORKDAY | 土日と祭日を除外して期日を求める | |
| WORKDAY.INTL | 指定した休日を除外して期日を求める | |
| 期間 | NETWORKDAYS | 土日と祭日を除外して期間内の日数を求める |
| NETWORKDAYS.INTL | 指定した休日を除外して期間内の日数を求める |
論理関数
論理関数は、「論理値」を扱うための関数です。「論理値」とは、正しいという意味の「TRUE」、または「間違っている」という意味の「FALSE」という2つの値のいずれかです。例えば式の内容が間違っている場合、結果は「FALSE」となります。結果として論理値を返すような式を「論理式」といいます。
論理式の結果に基づいて異なる計算を返すIF関数は、非常に応用範囲が広く、また実際に利用頻度も高い関数です。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| 条件 | IF | 条件の結果に応じた値を取得する |
| 複数条件 | AND | すべての条件が満たされているかを調べる |
| OR | いずれかの条件が満たされているかを調べる | |
| XOR | 奇数個の条件が満たされているかを調べる | |
| 条件の否定 | NOT | 条件が満たされていないことを調べる |
| エラーの場合 | IFERROR/IFNA | エラーの場合に返す値を指定する |
| 論理値の表示 | TRUE | 論理値TRUEを返す |
| FALSE | 論理値FALSEを返す |
情報関数
情報関数は、セルに入力されているデータが特定の種類のデータ(空白セルやエラー値、文字列、数値、数式)かどうかを調べて、それに応じて異なる操作を行うことができます。また、作業中のセルやシートなどに関する情報を数式の中で利用するといったことができます。
たとえば、IF関数と組み合わせて、特定の環境下でのみ計算結果を表示するといった処理が可能です。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| セルの内容と情報 | CELL | セルの情報を得る |
| ISBLANK | 空白セルかどうかを調べる | |
| ISLOGICAL | 論理値かどうかを調べる | |
| ISNUMBER | 数値かどうかを調べる | |
| ISTEXT/ISNONTEXT | 文字列か文字列以外かどうかを調べる | |
| ISERROR/ISERR | エラー値かどうかを調べる | |
| ISNA | #N/A かどうかを調べる | |
| ISFORMULA | 数式かどうかを調べる | |
| FORMULATEXT | 数式を取り出す | |
| ワークシートの情報 | SHEET | ワークシートの番号を調べる |
| SHEETS | ワークシートの数を調べる | |
| エラー値の種類 | ERROR.TYPE | エラー値の種類を調べる |
| データの種類 | TYPE | データの種類を調べる |
| 操作環境 | INFO | 操作環境に関する情報を得る |
統計関数
統計関数は、大量のデータを統計処理し、分析する便利な関数です。
データの平均値、最大値/最小値、中央値などを求める関数や、数値の順位を求める関数、分散や標準偏差を求める関数など、統計計算をするものがあります。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| データの個数 | COUNT/COUNTA | 数値や日付、時刻またはデータの個数を求める |
| COUNTBLANK | 空白セルの個数を求める | |
| COUNTIF | 条件に一致するデータの個数を求める | |
| COUNTIFS | 複数の条件に一致するデータの個数を求める | |
| 度数分布 | FREQUENCY | 区間に含まれる値の個数を求める |
| 平均値 | AVERAGE/AVERAGEA | 数値またはデータの平均値を求める |
| AVERAGEIF | 条件を指定して数値の平均を求める | |
| AVERAGEIFS | 複数の条件を指定して数値の平均を求める | |
| TRIMMEAN | 極端なデータ(異常値)を除外して平均値を求める | |
| GEOMEAN | 相乗平均(幾何平均)を求める | |
| GEOMEAN | 相乗平均(幾何平均)を求める | |
| 最大値/最小値 | MAX/MAXA | 数値またはデータの最大値を求める |
| MIN/MINA | 数値またはデータの最小値を求める | |
| 中央値と最頻値 | MEDIAN | 数値の中央値を求める |
| MODE.SNGL/MODE | 数値の最頻値を求める | |
| MODE.MULT | 複数の最頻値を求める | |
| 順位 | LARGE | 大きい方から何番目かの値を求める |
| SMALL | 小さい方から何番目かの値を求める | |
| RANK.EQ/RANK | 順位を求める(同じ値のときは最上位の順位を返す) | |
| RANK.AVG | 順位を求める(同じ値のときは平均値の順位を返す) | |
| 百分位数 | PERCENTILE.INC/PERCENTILE | 百分位数を求める(0%と100%を含めた範囲) |
| PERCENTILE.EXC | 百分位数を求める(0%と100%を除いた範囲) | |
| PERCENTRANK.INC/PERCENTRANK | 百分率での順位を求める(0%と100%を含めた範囲) | |
| PERCENTRANK.EXC | 百分率での順位を求める(0%と100%を除いた範囲) | |
| 四分位数 | QUARTILE.INC/QUARTILE | 四分位数を求める(0%と100%を含めた範囲) |
| QUARTILE.EXC | 四分位数を求める(0%と100%を除いた範囲) | |
| 分散 | VAR.P/VARP | 数値をもとに分散を求める |
| VARPA | データをもとに分散を求める | |
| VAR.S/VAR | 数値をもとに不偏分散を求める | |
| VARA | データをもとに不偏分散を求める | |
| 標準偏差 | STDEV.P/STDEVP | 数値をもとに標準偏差を求める |
| STDEVPA | データをもとに標準偏差を求める | |
| STDEV.S/STDEV | 数値をもとに不偏標準偏差を求める | |
| STDEVA | データをもとに不偏標準偏差を求める | |
| 標準化変量 | STANDARDIZE | 数値データをもとに標準化変量を求める |
| 尖度と歪度 | SKEW | 歪度を求める(SPSS方式) |
| SKEW.P | 歪度を求める | |
| KURT | 尖度を求める(SPSS方式) | |
| 回帰直線による 分析 | FORECAST | 回帰直線を使って予測する |
| TREND | 重回帰分析を使って予測する | |
| SLOPE | 回帰直線の傾きを求める | |
| INTERCEPT | 回帰直線の切片を求める | |
| LINEST | 重回帰分析により係数や定数項を求める | |
| STEYX | 回帰直線の標準誤差を求める | |
| 相関係数 | CORREL/PEARSON | 相関係数を求める |
| 共分散 | COVARIANCE.P/COVAR | 共分散を求める |
| COVARIANCE.S | 不偏共分散を求める | |
| ポアソン分布 | POISSON.DIST/POISSON | ポアソン分布の確率や累積確率を求める |
| 正規分布 | NORM.DIST/NORMDIST | 正規分布の確率や累積確率を求める |
| NORM.INV/NORMINV | 累積正規分布の逆関数の値を求める | |
| NORM.S.DIST | 標準正規分布の累積確率を求める | |
| NORM.S.INV/NORMSINV | 累積標準正規分布の逆関数の値を求める |
財務関数
財務関数は、貯蓄や借入の利息計算、投資の現在価値や将来価値を得る関数、資産の減価償却費を求める関数など、金利計算や資産評価のような財務に関する計算を行うときに利用します。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| ローンや積立貯蓄の計算 | PMT | ローンの返済額や積立貯蓄の払込額を求める |
| PPMT | ローンの返済額の元金相当分を求める | |
| CUMPRINC | ローンの返済額の元金相当分の累計を求める | |
| IPMT | ローンの返済額の金利相当分を求める | |
| CUMIPMT | ローンの返済額の金利相当分の累計を求める | |
| ISPMT | 元金均等返済の金利相当分を求める | |
| PV | 現在価値を求める | |
| FV | 将来価値を求める | |
| FVSCHEDULE | 利率が変動する預金の将来価値を求める | |
| 投資期間と利率 | NPER | ローンの返済期間や積立貯蓄の払込期間を求める |
| RATE | ローンや積立貯蓄の利率を求める | |
| EFFECT/NOMINAL | 実効年利率・名目年利率を求める | |
| RRI | 元金と満期受取額から複利計算の利率を求める | |
| PDURATION | 投資金額が目標額になるまでの期間を求める | |
| 正味現在価値 | NPV | 定期的なキャッシュフローから正味現在価値を求める |
| XNPV | 不定期的なキャッシュフローから正味現在価値を求める | |
| 内部利益率 | IRR | 定期的なキャッシュフローから内部利益率を求める |
| XIRR | 不定期的なキャッシュフローから内部利益率を求める | |
| MIRR | 定期的なキャッシュフローから修正内部利益率を求める | |
| 固定利付債の計算 | YIELD | 固定利付債の利回りを求める |
| PRICE | 固定利付債の現在価格を求める | |
| ACCRINT | 固定利付債の経過利息を求める | |
| 固定利付債の日付 情報 | COUPPCD/COUPNCD | 固定利付債の受渡日以前または受渡日以降の利払日を求める |
| COUPNUM | 固定利付債の受渡日〜満期日の利払回数を求める | |
| COUPDAYBS/COUPDAYSNC | 固定利付債の受渡日と利払日の間の日数を求める | |
| COUPDAYS | 固定利付債の受渡日が含まれる利払期間の日数を求める | |
| 固定利付債のデュレーション | DURATION | 固定利付債のデュレーションを求める |
| MDURATION | 固定利付債の修正デュレーションを求める | |
| ODDFYIELD/ODDLYIELD | 最初・最後の利払期間が半端な固定利付債の利回りを求める | |
| ODDFPRICE/ODDLPRICE | 最初・最後の利払期間が半端な固定利付債の現在価格を求める | |
| 満期利付債 | YIELDMAT | 満期利付債の利回りを求める |
| PRICEMAT | 満期利付債の現在価格を求める | |
| ACCRINTM | 満期利付債の経過利息を求める | |
| 割引債 | YIELDDISC | 割引債の単利年利回りを求める |
| INTRATE | 割引債の利回りを求める | |
| RECEIVED | 割引債の満期日受取額を求める | |
| PRICEDISC | 割引債の現在価格を求める | |
| DISC | 割引債の割引率を求める | |
| ドル価格の表記 | DOLLARDE | 分数表記のドル価格を小数表記に変換する |
| DOLLARFR | 小数表記のドル価格を分数表記に変換する | |
| 減価償却費 | SLN | 定額法(旧定額法)で減価償却費を求める |
| DB | 定率法(旧定率法)で減価償却費を求める |
検索/行列関数
検索/行列関数は、表形式で入力されているデータの中から必要なデータを取り出したり、目的に合ったセルまたはセル範囲の参照を取得することが可能な関数です。
セル範囲や配列、セル参照の位置(アドレス)などを調べたり、データの行と列を入れ替えたりすることができます。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| 表の検索 | LOOKUP | 1行または1列の範囲を検索する |
| VLOOKUP | 範囲を縦方向に検索する | |
| HLOOKUP | 範囲を横方向に検索する | |
| 配列の要素の利用 | INDEX | 行と列で指定した位置の値を求める |
| セルとセル範囲の参照 | OFFSET | 行と列で指定したセルのセル参照を求める |
| 行と列の位置 | COLUMN | セルの列番号を求める |
| ROW | セルの行番号を求める | |
| MATCH | 検査値の相対位置を求める | |
| 範囲内の要素 | COLUMNS | 列数を求める |
| ROWS | 行数を求める | |
| AREAS | 範囲に含まれる領域数を求める | |
| セル参照 | INDIRECT | 参照文字列をもとにセルを間接参照する |
| ADDRESS | 行番号と列番号からセル参照の文字列を求める | |
| 値の選択 | CHOOSE | 引数のリストから値を選ぶ |
| 行と列の入れ替え | TRANSPOSE | 行と列の位置を入れ替える |
| ハイパーリンク | HYPERLINK | ハイパーリンクを作成する |
| ピボットテーブル | GETPIVOTDATA | ピボットテーブルからデータを取り出す |
| サーバーデータ | RTD | RTDサーバーからデータを取り出す |
文字列操作関数
文字列操作関数は、セルに入力された文字列に対して一定の操作を行うための関数です。文字列の一部の取り出し、置き換え、連結といった処理を行ったり、全角/半角、大文字/小文字を互いに変換したりといった関数があります。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| 文字コードの操作 | CODE/UNICODE | 文字コードを調べる |
| CHAR/UNICHAR | 文字コードに対応する文字を返す | |
| ASC/JIS | 全角文字または半角文字に変換する | |
| 表示形式の変換 | YEN/DOLLAR | 数値に通貨記号と桁区切り記号を付ける |
| UPPER/LOWER | 英字を大文字または小文字に変換する | |
| TEXT | 数値に表示形式を適用した文字列を返す | |
| VALUE | 数値を表す文字列を数値に変換する | |
| PROPER | 英単語の先頭文字だけを大文字に変換する | |
| 文字列の長さ | LEN/LENB | 文字列の文字数またはバイト数を求める |
| 文字列の抽出 | LEFT/LEFTB | 左端から何文字かまたは何バイトかを取り出す |
| RIGHT/RIGHTB | 右端から何文字かまたは何バイトかを取り出す | |
| MID/MIDB | 指定した位置から何文字かまたは何バイトかを取り出す | |
| 文字列の検索 | FIND/FINDB | 文字列の位置またはバイト位置を調べる |
| SEARCH/SEARCHB | 文字列の位置またはバイト位置を調べる | |
| 文字列の置換 | REPLACE/REPLACEB | 指定した文字数またはバイト数の文字列を置き換える |
| SUBSTITUTE | 検索した文字列を置き換える | |
| 文字列の連結 | CONCATENATE | 文字列を連結する |
| 文字列の削除 | TRIM | 余計な空白文字を削除する |
| CLEAN | 印刷できない文字を削除する | |
| ふりがな | PHONETIC | ふりがなを取り出す |
| 繰り返し | REPT | 指定した回数だけ文字列を繰り返す |
データベース関数
データをリスト形式で入力することにより、そのワークシートのデータをデータベースとして利用することができます。リスト形式とは、1行目が列のタイトルで、2行目以下、1行につき1件分のデータが入力されている形式のことです。
指定した条件に一致するデータを取り出したり、さまざまな集計値や分散、標準偏差を求めたりする場合に便利な関数です。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| データの検索 | DGET | 条件を満たすデータを探す |
| 最大値/最小値 | DMAX/DMIN | 条件を満たす最大値や最小値を求める |
| データの個数 | DCOUNT | 条件を満たす数値の個数を求める |
| DCOUNTA | 条件を満たす空白以外のセルの個数を求める | |
| データの集計 | DSUM | 条件を満たすセルの合計を求める |
| DAVERAGE | 条件を満たすセルの平均を求める | |
| DPRODUCT | 条件を満たすセルの積を求める | |
| 分散 | DVAR | 条件を満たすデータから不偏分散を求める |
| DVARP | 条件を満たすデータの分散を求める |
エンジニアリング関数
エンジニアリング関数は、名前の通りエンジニアや数学の専門家など、比較的専門性の高い用途に使用することが想定された関数です。
数値の単位変換や記数法の相互変換、ビット演算や複素数の計算、ベッセル関数の値を求める関数など、科学・工学系の特殊な計算をするための関数があります。
| 目 的 | 関数名 | 内 容 |
|---|---|---|
| 単位の変換 | CONVERT | 数値の単位を変換する |
| 数値の比較 | DEC2BIN | 10進数表記を2進数表記に変換する |
| DEC2OCT | 10進数表記を8進数表記に変換する | |
| 記数法の変換 | DEC2HEX | 10進数表記を16進数表記に変換する |
| BASE | 10進数表記をn進数表記に変換する | |
| BIN2DEC | 2進数表記を10進数表記に変換する | |
| OCT2DEC | 8進数表記を10進数表記に変換する | |
| HEX2DEC | 16進数表記を10進数表記に変換する | |
| DECIMAL | n進数表記を10進数表記に変換する | |
| ビット演算 | BITAND | ビットごとの論理積を求める |
| BITOR/BITXOR | ビットごとの論理和や排他的論理和を求める | |
| BITLSHIFT/BITRSHIFT | ビットを左または右にシフトする | |
| 複素数の作成と 分解 | COMPLEX | 実部と虚部から複素数を作成する |
| IMREAL/IMAGINARY | 複素数の実部や虚部を求める | |
| 誤差関数 | ERF/ERF.PRECISE | 誤差関数を積分した値を求める |
| ERFC/ERFC.PRECISE | 相補誤差関数を積分した値を求める |
■関連ページ