数値計算・数学/三角関数 🔢
基本的な計算から条件付き集計、端数処理まで。
関数名 | 構文 | 説明と使用例 |
---|---|---|
SUM | SUM(数値1, [数値2], ...) |
指定した範囲や数値の合計を計算します。 例: =SUM(A1:A10) → セルA1からA10の合計。例: =SUM(A1, B5, 100) → セルA1、セルB5、数値100の合計。 |
AVERAGE | AVERAGE(数値1, [数値2], ...) |
指定した範囲や数値の算術平均(平均値)を計算します。空白セルや文字列は無視されます。 例: =AVERAGE(B1:B10) → セルB1からB10の数値の平均。 |
MAX | MAX(数値1, [数値2], ...) |
指定した範囲や数値の中から最大値を返します。 例: =MAX(C1:C100) → セルC1からC100の最大値。 |
MIN | MIN(数値1, [数値2], ...) |
指定した範囲や数値の中から最小値を返します。 例: =MIN(C1:C100) → セルC1からC100の最小値。 |
COUNT | COUNT(値1, [値2], ...) |
指定した範囲に含まれる数値データの個数を数えます。 例: =COUNT(D1:D50) → セルD1からD50に含まれる数値セルの数。 |
COUNTA | COUNTA(値1, [値2], ...) |
指定した範囲に含まれる空白でないセルの個数を数えます(数値、文字列、エラー値など)。 例: =COUNTA(D1:D50) → セルD1からD50に含まれる空白でないセルの数。 |
COUNTBLANK | COUNTBLANK(範囲) |
指定した範囲に含まれる空白セルの個数を数えます。 例: =COUNTBLANK(D1:D50) → セルD1からD50に含まれる空白セルの数。 |
ROUND | ROUND(数値, 桁数) |
数値を指定した桁数に四捨五入します。 桁数 > 0: 小数点以下の桁数。 桁数 = 0: 最も近い整数。 桁数 < 0: 小数点より左側の桁数。 例: =ROUND(123.456, 2) → 123.46例: =ROUND(123.456, 0) → 123例: =ROUND(123.456, -1) → 120 |
ROUNDUP | ROUNDUP(数値, 桁数) |
数値を指定した桁数に切り上げます。 例: =ROUNDUP(123.451, 2) → 123.46例: =ROUNDUP(123, -1) → 130 |
ROUNDDOWN | ROUNDDOWN(数値, 桁数) |
数値を指定した桁数に切り捨てます。 例: =ROUNDDOWN(123.459, 2) → 123.45例: =ROUNDDOWN(129, -1) → 120 |
INT | INT(数値) |
数値の小数点以下を切り捨てて整数にします。 例: =INT(99.9) → 99例: =INT(-8.9) → -9 (ゼロから遠い方の整数へ丸める) |
TRUNC | TRUNC(数値, [桁数]) |
数値の小数点以下または指定した桁数で切り捨てます。[桁数]を省略すると整数部のみ残します。 例: =TRUNC(8.9) → 8例: =TRUNC(-8.9) → -8例: =TRUNC(123.456, 2) → 123.45 |
RAND | RAND() |
0 以上 1 未満の乱数を返します。再計算のたびに新しい乱数が生成されます。 例: =RAND() → 0.xxxxxxxxxx |
RANDBETWEEN | RANDBETWEEN(最小値, 最大値) |
指定した最小値と最大値の間のランダムな整数を返します。再計算のたびに新しい乱数が生成されます。 例: =RANDBETWEEN(1, 100) → 1から100までのランダムな整数。 |
SUMIF | SUMIF(範囲, 検索条件, [合計範囲]) |
指定した検索条件に一致するセルの合計を計算します。[合計範囲]を省略すると、[範囲]内の数値が合計されます。 例: =SUMIF(A1:A10, ">50") → A1:A10 で50より大きい値の合計。例: =SUMIF(A1:A10, "リンゴ", B1:B10) → A列が”リンゴ”の行に対応するB列の値の合計。 |
SUMIFS | SUMIFS(合計対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...) |
複数の検索条件にすべて一致するセルの合計を計算します。 例: =SUMIFS(C1:C10, A1:A10, "リンゴ", B1:B10, ">100") → A列が”リンゴ”かつB列が100より大きい行に対応するC列の値の合計。 |
AVERAGEIF | AVERAGEIF(範囲, 検索条件, [平均対象範囲]) |
指定した検索条件に一致するセルの平均値を計算します。[平均対象範囲]を省略すると、[範囲]内の数値が平均されます。 例: =AVERAGEIF(A1:A10, "<>0") → A1:A10 で0以外の値の平均。例: =AVERAGEIF(A1:A10, "東京", B1:B10) → A列が”東京”の行に対応するB列の値の平均。 |
AVERAGEIFS | AVERAGEIFS(平均対象範囲, 条件範囲1, 条件1, [条件範囲2, 条件2], ...) |
複数の検索条件にすべて一致するセルの平均値を計算します。 例: =AVERAGEIFS(C1:C10, A1:A10, "東京", B1:B10, ">=50") → A列が”東京”かつB列が50以上の行に対応するC列の値の平均。 |
COUNTIF | COUNTIF(範囲, 検索条件) |
指定した検索条件に一致するセルの個数を数えます。 例: =COUNTIF(A1:A10, "完了") → A1:A10 で”完了”と入力されているセルの数。例: =COUNTIF(B1:B10, ">100") → B1:B10 で100より大きい数値のセルの数。 |
COUNTIFS | COUNTIFS(条件範囲1, 条件1, [条件範囲2, 条件2], ...) |
複数の検索条件にすべて一致するセルの個数を数えます。 例: =COUNTIFS(A1:A10, "東京", B1:B10, "完了") → A列が”東京”かつB列が”完了”である行の数。 |
ABS | ABS(数値) |
数値の絶対値(0からの距離)を返します。 例: =ABS(-5) → 5例: =ABS(10) → 10 |
POWER | POWER(数値, 指数) |
数値のべき乗を計算します(数値 ^ 指数)。 例: =POWER(5, 2) → 25 (5の2乗)例: =POWER(16, 0.5) → 4 (16の0.5乗 = 平方根) |
SQRT | SQRT(数値) |
正の数値の平方根を返します。 例: =SQRT(25) → 5例: =SQRT(10) → 3.162… |
PI | PI() |
円周率 π (約3.14159…) を返します。 例: =PI() → 3.14159265358979 |
SIN | SIN(ラジアン) |
指定した角度(ラジアン単位)のサイン(正弦)を返します。角度を度で持っている場合は RADIANS() 関数で変換します。例: =SIN(RADIANS(30)) → 0.5 (sin 30°) |
COS | COS(ラジアン) |
指定した角度(ラジアン単位)のコサイン(余弦)を返します。 例: =COS(RADIANS(60)) → 0.5 (cos 60°) |
TAN | TAN(ラジアン) |
指定した角度(ラジアン単位)のタンジェント(正接)を返します。 例: =TAN(RADIANS(45)) → 1 (tan 45°) |
RADIANS | RADIANS(角度) |
度単位の角度をラジアン単位に変換します。 例: =RADIANS(180) → 3.14159… (πラジアン) |
DEGREES | DEGREES(ラジアン) |
ラジアン単位の角度を度単位に変換します。 例: =DEGREES(PI()) → 180 |
文字列操作 ✍️
文字列の結合、抽出、検索、置換、書式設定など。
関数名 / 演算子 | 構文 | 説明と使用例 |
---|---|---|
CONCATENATE / & | CONCATENATE(文字列1, [文字列2], ...) 文字列1 & 文字列2 & ... |
複数の文字列を結合します。アンパサンド(&)演算子でも同様の操作が可能です。 例: =CONCATENATE("Hello", " ", "World") → “Hello World”例: =A1 & B1 → セルA1とセルB1の文字列を結合。 |
TEXTJOIN | TEXTJOIN(区切り記号, 空白セルを無視するか, 文字列1, [文字列2], ...) |
区切り記号を指定して複数の文字列を結合します。空白セルを無視するかどうかを指定できます (TRUE/FALSE)。 例: =TEXTJOIN(", ", TRUE, A1:A5) → A1からA5の空白でないセルをカンマとスペースで結合。 |
LEFT | LEFT(文字列, [文字数]) |
文字列の左端(先頭)から指定した文字数の文字を抽出します。[文字数]を省略すると1文字になります。 例: =LEFT("ExcelFunction", 5) → “Excel” |
RIGHT | RIGHT(文字列, [文字数]) |
文字列の右端(末尾)から指定した文字数の文字を抽出します。[文字数]を省略すると1文字になります。 例: =RIGHT("ExcelFunction", 8) → “Function” |
MID | MID(文字列, 開始位置, 文字数) |
文字列の指定した開始位置から指定した文字数の文字を抽出します。 例: =MID("ExcelFunction", 6, 8) → “Function” (6文字目から8文字) |
LEN / LENB | LEN(文字列) LENB(文字列) |
文字列の文字数を返します。LENは半角/全角問わず1文字を1としてカウントします。LENBはバイト数でカウントします(全角は通常2バイト)。 例: =LEN("テスト") → 3例: =LENB("テスト") → 6 (環境による) |
FIND / FINDB | FIND(検索文字列, 対象文字列, [開始位置]) FINDB(...) |
ある文字列内で、別の文字列が最初に現れる位置を返します。大文字と小文字を区別します。FINDは文字数、FINDBはバイト数で位置を返します。[開始位置]を省略すると1から検索します。 例: =FIND("Fun", "ExcelFunction") → 6例: =FIND("fun", "ExcelFunction") → #VALUE! (見つからない) |
SEARCH / SEARCHB | SEARCH(検索文字列, 対象文字列, [開始位置]) SEARCHB(...) |
ある文字列内で、別の文字列が最初に現れる位置を返します。大文字と小文字を区別しません。ワイルドカード (*, ?) を使用できます。SEARCHは文字数、SEARCHBはバイト数で位置を返します。 例: =SEARCH("fun", "ExcelFunction") → 6例: =SEARCH("E*l", "ExcelFunction") → 1 |
REPLACE / REPLACEB | REPLACE(元の文字列, 開始位置, 文字数, 置換文字列) REPLACEB(...) |
文字列の一部を、位置を指定して別の文字列に置換します。REPLACEは文字数、REPLACEBはバイト数で位置と文字数を指定します。 例: =REPLACE("Excel 2019", 7, 4, "365") → “Excel 365” |
SUBSTITUTE | SUBSTITUTE(文字列, 検索文字列, 置換文字列, [置換対象]) |
文字列中の特定の文字列を、すべてまたは指定した出現箇所のものだけ別の文字列に置換します。[置換対象]を省略するとすべて置換されます。 例: =SUBSTITUTE("A-B-C-D", "-", "/") → “A/B/C/D”例: =SUBSTITUTE("A-B-C-D", "-", "/", 2) → “A-B/C-D” (2番目の”-“のみ置換) |
TEXT | TEXT(値, 表示形式) |
数値を指定した表示形式の文字列に変換します。 例: =TEXT(12345, "#,##0") → “12,345”例: =TEXT(TODAY(), "yyyy/mm/dd") → 今日の日付を “2025/04/06” の形式で表示例: =TEXT(0.85, "0.0%") → “85.0%” |
VALUE | VALUE(文字列) |
数値として認識できる文字列を数値に変換します。 例: =VALUE("1,234") → 1234例: =VALUE("50%") → 0.5 |
LOWER | LOWER(文字列) |
文字列内のすべてのアルファベット大文字を小文字に変換します。 例: =LOWER("EXCEL") → “excel” |
UPPER | UPPER(文字列) |
文字列内のすべてのアルファベット小文字を大文字に変換します。 例: =UPPER("excel") → “EXCEL” |
PROPER | PROPER(文字列) |
文字列内の各単語の先頭文字を大文字に、それ以外を小文字に変換します。 例: =PROPER("excel function CHEAT sheet") → “Excel Function Cheat Sheet” |
TRIM | TRIM(文字列) |
文字列の先頭と末尾の不要なスペース、および単語間の複数のスペースを1つに削除します。 例: =TRIM(" Extra Spaces ") → “Extra Spaces” |
CLEAN | CLEAN(文字列) |
文字列から印刷できない制御文字(ASCIIコードの0から31)を削除します。 例: 他のシステムからコピーしたテキストに含まれる改行などを削除するのに使われます。 |
REPT | REPT(文字列, 繰り返し回数) |
指定した文字列を、指定した回数だけ繰り返した文字列を返します。 例: =REPT("*", 5) → “*****”例: =REPT("Abc-", 3) → “Abc-Abc-Abc-“ |
日付/時刻 📅⏰
現在の日付・時刻の取得、日付の計算、要素の抽出など。
関数名 | 構文 | 説明と使用例 |
---|---|---|
TODAY | TODAY() |
現在の日付(シリアル値)を返します。時刻情報は含まれません。ファイルを開くたびに更新されます。 例: =TODAY() → 今日の日付 (例: 2025/4/6) |
NOW | NOW() |
現在の日付と時刻(シリアル値)を返します。再計算やファイルを開くたびに更新されます。 例: =NOW() → 現在の日付と時刻 (例: 2025/4/6 6:29) |
YEAR | YEAR(シリアル値) |
日付(シリアル値)から年の部分を抽出します。 例: =YEAR(A1) (A1に日付が入っている場合) → 年 (例: 2025) |
MONTH | MONTH(シリアル値) |
日付(シリアル値)から月の部分を抽出します (1-12)。 例: =MONTH(A1) → 月 (例: 4) |
DAY | DAY(シリアル値) |
日付(シリアル値)から日の部分を抽出します (1-31)。 例: =DAY(A1) → 日 (例: 6) |
DATE | DATE(年, 月, 日) |
指定した年、月、日に対応する日付のシリアル値を返します。 例: =DATE(2026, 1, 15) → 2026年1月15日のシリアル値。 |
TIME | TIME(時, 分, 秒) |
指定した時、分、秒に対応する時刻のシリアル値(0から1の間の小数)を返します。 例: =TIME(13, 30, 0) → 午後1時30分0秒のシリアル値。 |
HOUR | HOUR(シリアル値) |
時刻(シリアル値)から時の部分を抽出します (0-23)。 例: =HOUR(A1) (A1に日時が入っている場合) → 時 (例: 6) |
MINUTE | MINUTE(シリアル値) |
時刻(シリアル値)から分の部分を抽出します (0-59)。 例: =MINUTE(A1) → 分 (例: 29) |
SECOND | SECOND(シリアル値) |
時刻(シリアル値)から秒の部分を抽出します (0-59)。 例: =SECOND(A1) → 秒 |
WEEKDAY | WEEKDAY(シリアル値, [種類]) |
指定した日付に対応する曜日を数値で返します。[種類]によって、どの曜日を1とするかが変わります。 種類=1 (省略時): 日曜日=1 〜 土曜日=7 種類=2: 月曜日=1 〜 日曜日=7 種類=3: 月曜日=0 〜 日曜日=6 例: =WEEKDAY(TODAY(), 2) → 今日の曜日を月曜=1として返す。 |
WEEKNUM | WEEKNUM(シリアル値, [週の基準]) |
指定した日付が、その年の第何週目にあたるかを返します。[週の基準]で週の始まりの曜日を指定します。 基準=1 (省略時): 日曜日始まり 基準=2: 月曜日始まり 例: =WEEKNUM("2025/1/5") → 2 (2025/1/5は日曜始まりの場合、第2週) |
NETWORKDAYS | NETWORKDAYS(開始日, 終了日, [祭日]) |
2つの日付の間の稼働日(土日および指定した祭日を除く)の日数を計算します。[祭日]は祭日の日付が入力されたセル範囲を指定します。 例: =NETWORKDAYS("2025/4/1", "2025/4/30", H1:H5) → 4月1日から30日までの土日とH1:H5の祭日を除く稼働日数。 |
NETWORKDAYS.INTL | NETWORKDAYS.INTL(開始日, 終了日, [週末], [祭日]) |
NETWORKDAYSの拡張版で、週末の曜日を柔軟に指定できます。[週末]は数値や文字列で指定します。 例(週末が土日): =NETWORKDAYS.INTL(A1, B1, 1, H1:H5) または =NETWORKDAYS.INTL(A1, B1, "0000011", H1:H5) 例(週末が日曜日のみ): =NETWORKDAYS.INTL(A1, B1, 11, H1:H5) |
WORKDAY | WORKDAY(開始日, 日数, [祭日]) |
指定した開始日から、指定した稼働日数だけ前または後の日付を計算します(土日および指定した祭日を除く)。 例: =WORKDAY("2025/4/1", 10, H1:H5) → 4月1日の10稼働日後の日付。 |
WORKDAY.INTL | WORKDAY.INTL(開始日, 日数, [週末], [祭日]) |
WORKDAYの拡張版で、週末の曜日を柔軟に指定できます。 例(週末が土日): =WORKDAY.INTL(A1, 10, 1, H1:H5) 例(週末が日曜日のみ): =WORKDAY.INTL(A1, 10, 11, H1:H5) |
EDATE | EDATE(開始日, 月) |
指定した開始日から、指定した月数だけ前または後の日付を計算します。 例: =EDATE("2025/4/15", 3) → 2025年7月15日例: =EDATE("2025/4/15", -1) → 2025年3月15日 |
EOMONTH | EOMONTH(開始日, 月) |
指定した開始日から、指定した月数だけ前または後の月の最終日の日付を計算します。 例: =EOMONTH("2025/4/15", 0) → 2025年4月30日 (当月末)例: =EOMONTH("2025/4/15", 1) → 2025年5月31日 (翌月末) |
DATEDIF | DATEDIF(開始日, 終了日, 単位) |
2つの日付の間の期間を、指定した単位(年数、月数、日数など)で計算します。※関数の候補には表示されない場合がある隠し関数的な扱いです。 単位: “Y”: 満年数 “M”: 満月数 “D”: 日数 “MD”: 1ヶ月未満の日数 “YM”: 1年未満の月数 “YD”: 1年未満の日数 例: =DATEDIF("2000/1/1", TODAY(), "Y") → 2000/1/1から今日までの満年数。 |
論理関数 🤔
条件に応じた分岐処理やエラーハンドリングを行います。
関数名 | 構文 | 説明と使用例 |
---|---|---|
IF | IF(論理式, 真の場合の値, 偽の場合の値) |
指定した論理式が真 (TRUE) か偽 (FALSE) かを評価し、それに応じて指定した値を返します。 例: =IF(A1>=60, "合格", "不合格") → A1が60以上なら”合格”、そうでなければ”不合格”。 |
AND | AND(論理式1, [論理式2], ...) |
すべての引数(論理式)が真 (TRUE) の場合に TRUE を返します。1つでも偽 (FALSE) があれば FALSE を返します。 例: =IF(AND(A1="東京", B1>100), "対象", "対象外") → A1が”東京” かつ B1が100より大きい場合のみ”対象”。 |
OR | OR(論理式1, [論理式2], ...) |
いずれかの引数(論理式)が真 (TRUE) の場合に TRUE を返します。すべての引数が偽 (FALSE) の場合に FALSE を返します。 例: =IF(OR(A1="土", A1="日"), "休日", "平日") → A1が”土” または “日”の場合に”休日”。 |
NOT | NOT(論理式) |
引数(論理式)の真偽を反転させます。TRUE なら FALSE を、FALSE なら TRUE を返します。 例: =IF(NOT(ISBLANK(A1)), "入力済", "未入力") → A1が空白でない場合に”入力済”。 |
IFERROR | IFERROR(値, エラーの場合の値) |
[値]の計算結果がエラー (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) でない場合はその値を、エラーの場合は [エラーの場合の値] を返します。 例: =IFERROR(A1/B1, 0) → A1/B1がエラー(B1が0など)の場合、0を返す。 |
IFNA | IFNA(値, NAエラーの場合の値) |
[値]の計算結果が #N/A エラーの場合に [NAエラーの場合の値] を返し、それ以外のエラーや正常値の場合はそのままの値を返します。VLOOKUPなどの結果判定に便利です。 例: =IFNA(VLOOKUP(A1, C:D, 2, FALSE), "該当なし") → VLOOKUPで該当が見つからない場合(#N/A)に”該当なし”と表示。 |
IFS | IFS(論理式1, 真1の場合の値, [論理式2, 真2の場合の値], ...) |
複数の条件を順番に評価し、最初に真 (TRUE) となった条件に対応する値を返します。IF関数をネストする代わりに使用できます。(Excel 2019/Microsoft 365) 例: =IFS(A1>=80, "A", A1>=60, "B", A1>=40, "C", TRUE, "D") → A1の値に応じてA, B, C, Dを返す。最後のTRUE はそれ以外すべての場合に対応。 |
SWITCH | SWITCH(式, 値1, 結果1, [値2, 結果2], ..., [既定値]) |
[式]の結果を [値1], [値2]… と比較し、最初に一致した値に対応する [結果] を返します。いずれとも一致しない場合は [既定値] を返します。(Excel 2019/Microsoft 365) 例: =SWITCH(A1, 1, "月", 2, "火", 3, "水", "その他") → A1が1なら”月”, 2なら”火”, 3なら”水”, それ以外なら”その他”を返す。 |
TRUE | TRUE() |
論理値の TRUE を返します。通常、他の関数の引数として使われます。 例: =IF(A1="OK", TRUE(), FALSE()) |
FALSE | FALSE() |
論理値の FALSE を返します。 例: =IF(A1="", FALSE(), TRUE()) |
検索/行列 🔍📑
表から特定のデータを探したり、セルの位置を参照したりします。
関数名 | 構文 | 説明と使用例 |
---|---|---|
VLOOKUP | VLOOKUP(検索値, 範囲, 列番号, [検索方法]) |
範囲の左端列を縦方向に検索し、指定した列と同じ行にある値を返します。 [検索方法]: TRUE (または省略) = 近似一致(範囲の左端列は昇順ソート要)、FALSE = 完全一致。 例: =VLOOKUP(A1, D:F, 2, FALSE) → A1の値でD列を完全一致検索し、見つかった行のE列(D列から数えて2列目)の値を返す。 |
HLOOKUP | HLOOKUP(検索値, 範囲, 行番号, [検索方法]) |
範囲の先頭行を横方向に検索し、指定した行と同じ列にある値を返します。 [検索方法]: TRUE (または省略) = 近似一致(範囲の先頭行は昇順ソート要)、FALSE = 完全一致。 例: =HLOOKUP(B1, D1:F10, 3, FALSE) → B1の値で1行目(D1:F1)を完全一致検索し、見つかった列の3行目の値を返す。 |
XLOOKUP ✨ | XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード]) |
VLOOKUP/HLOOKUPの進化版。より柔軟な検索が可能です。(Microsoft 365) [一致モード]: 0=完全一致(既定), -1=完全一致または次に小さい項目, 1=完全一致または次に大きい項目, 2=ワイルドカード一致。 [検索モード]: 1=先頭から検索(既定), -1=末尾から検索, 2=昇順でバイナリ検索, -2=降順でバイナリ検索。 例: =XLOOKUP(A1, D:D, E:E, "該当なし", 0) → A1の値でD列を検索し、対応するE列の値を返す。見つからなければ”該当なし”。 |
INDEX | INDEX(範囲, 行番号, [列番号]) INDEX(参照, 行番号, [列番号], [領域番号]) |
指定した範囲または参照内の、指定した行と列が交差する位置にあるセルの値または参照を返します。 例: =INDEX(A1:C10, 5, 2) → 範囲 A1:C10 の5行目、2列目(つまりB5)の値を返す。 |
MATCH | MATCH(検査値, 検査範囲, [照合の種類]) |
検査範囲内で検査値が何番目にあるか(相対的な位置)を返します。 [照合の種類]: 1 (または省略) = 検査値以下の最大値(昇順ソート要)、0 = 完全一致、-1 = 検査値以上の最小値(降順ソート要)。 例: =MATCH("リンゴ", A1:A10, 0) → A1:A10 の範囲で “リンゴ” が最初に現れる行番号(相対位置)を返す。 |
INDEX & MATCH | (組み合わせ) | INDEXとMATCHを組み合わせることで、VLOOKUPの制限(検索列が左端である必要)を超える柔軟な検索が可能です。 例: =INDEX(C1:C10, MATCH(A1, B1:B10, 0)) → B列でA1の値と一致する行を探し、その行に対応するC列の値を返す(検索列Bが戻り値列Cの右にあっても可)。 |
CHOOSE | CHOOSE(インデックス番号, 値1, [値2], ...) |
インデックス番号に基づいて、引数リストの中から値を選択します。インデックス番号が 1 なら値1を、2 なら値2を返します。 例: =CHOOSE(A1, "優", "良", "可") → A1の値が1なら”優”, 2なら”良”, 3なら”可”。 |
TRANSPOSE | TRANSPOSE(配列) |
配列の行と列を入れ替えます(転置)。配列数式として入力する必要があります(Ctrl+Shift+Enter、またはスピル対応版Excelでは自動)。 例: 横一列のデータ範囲を選択し、 =TRANSPOSE(A1:E1) を入力して Ctrl+Shift+Enter → データが縦一列に変換される。 |
OFFSET | OFFSET(参照, 行数, 列数, [高さ], [幅]) |
指定した参照(セルまたはセル範囲)から、指定した行数と列数だけシフトした位置にあるセル参照(またはセル範囲参照)を返します。[高さ]と[幅]で返す範囲のサイズを指定できます。 例: =OFFSET(A1, 3, 1) → A1から3行下、1列右のセル(B4)への参照を返す。例: =SUM(OFFSET(A1, 1, 0, 5, 1)) → A1から1行下のセル(A2)を起点とする、高さ5、幅1の範囲(A2:A6)の合計を計算。 |
INDIRECT | INDIRECT(参照文字列, [参照形式]) |
文字列で指定されたセル参照を返します。参照形式は TRUE (または省略) で A1 形式、FALSE で R1C1 形式。 例: セルA1に “B5” と入力されている場合、 =INDIRECT(A1) はセルB5の値を返す。例: =SUM(INDIRECT("Sheet2!A1:A10")) → Sheet2のA1:A10の合計。シート名を動的に変更したい場合などに使う。 |
FILTER ✨ | FILTER(配列, 含む, [空の場合]) |
指定した条件に基づいてデータの範囲をフィルター処理します。(Microsoft 365) 例: =FILTER(A1:C10, B1:B10="東京") → A1:C10の範囲から、B列が”東京”である行のみを抽出して表示する。 |
SORT ✨ | SORT(配列, [並べ替えインデックス], [並べ替え順序], [並べ替え基準]) |
範囲または配列の内容を並べ替えます。(Microsoft 365) [並べ替えインデックス]: 並べ替えの基準となる列または行の番号。 [並べ替え順序]: 1=昇順(既定), -1=降順。 [並べ替え基準]: TRUE=列単位で並べ替え(既定), FALSE=行単位で並べ替え。 例: =SORT(A1:C10, 2, -1) → A1:C10の範囲を、2列目(B列)を基準に降順で並べ替える。 |
UNIQUE ✨ | UNIQUE(配列, [列単位], [回数指定]) |
範囲または配列から一意の値のリストを返します。(Microsoft 365) [列単位]: FALSE=行単位で比較(既定), TRUE=列単位で比較。 [回数指定]: FALSE=重複しないすべての項目(既定), TRUE=1回だけ出現する項目。 例: =UNIQUE(A1:A10) → A1:A10の中から重複しない値のリストを返す。 |
統計関数 📈
標準偏差、分散、中央値、順位など、統計的な分析に用います。
関数名 | 構文 | 説明と使用例 |
---|---|---|
STDEV.P / STDEVP | STDEV.P(数値1, [数値2], ...) |
母集団全体の標準偏差(データのばらつき具合)を計算します。STDEVPは互換性のための旧関数名。 例: =STDEV.P(A1:A100) → A1:A100 を母集団全体とした標準偏差。 |
STDEV.S / STDEV | STDEV.S(数値1, [数値2], ...) |
標本に基づいて母集団の標準偏差の推定値を計算します。STDEVは互換性のための旧関数名。 例: =STDEV.S(A1:A30) → A1:A30 を標本とした母集団の標準偏差の推定値。 |
VAR.P / VARP | VAR.P(数値1, [数値2], ...) |
母集団全体の分散(標準偏差の2乗)を計算します。VARPは互換性のための旧関数名。 例: =VAR.P(A1:A100) → A1:A100 を母集団全体とした分散。 |
VAR.S / VAR | VAR.S(数値1, [数値2], ...) |
標本に基づいて母集団の分散の推定値を計算します。VARは互換性のための旧関数名。 例: =VAR.S(A1:A30) → A1:A30 を標本とした母集団の分散の推定値。 |
MEDIAN | MEDIAN(数値1, [数値2], ...) |
指定した数値群の中央値(データを昇順に並べたときに中央にくる値)を返します。 例: =MEDIAN(B1:B99) → B1:B99 の中央値。 |
MODE.SNGL / MODE | MODE.SNGL(数値1, [数値2], ...) |
データセットの中で最も頻繁に出現する値(最頻値)を返します。最頻値が複数ある場合は、最初に見つかった値を返します。MODEは互換性のための旧関数名。 例: =MODE.SNGL(C1:C50) → C1:C50 の最頻値。 |
MODE.MULT | MODE.MULT(数値1, [数値2], ...) |
データセットの中で最も頻繁に出現する値(最頻値)を縦方向の配列として返します。最頻値が複数ある場合にすべてを返します。配列数式として入力(またはスピル)。(Excel 2010以降) 例: =MODE.MULT(C1:C50) → C1:C50 のすべての最頻値を返す。 |
RANK.EQ / RANK | RANK.EQ(数値, 参照, [順序]) |
数値リスト内での特定の数値の順位を返します。同じ値がある場合は、同じ順位が割り当てられます(例: 1位, 2位, 2位, 4位)。 [順序]: 0 (または省略) = 降順、0以外 = 昇順。RANKは互換性のための旧関数名。 例: =RANK.EQ(A1, A1:A10) → A1の値がA1:A10の中で何位か(降順)。 |
RANK.AVG | RANK.AVG(数値, 参照, [順序]) |
数値リスト内での特定の数値の順位を返します。同じ値がある場合は、平均の順位が割り当てられます(例: 1位, 2.5位, 2.5位, 4位)。 [順序]: 0 (または省略) = 降順、0以外 = 昇順。(Excel 2010以降) 例: =RANK.AVG(A1, A1:A10) → A1の値がA1:A10の中で何位か(降順、平均順位)。 |
PERCENTILE.INC / PERCENTILE | PERCENTILE.INC(配列, k) |
データセットの中で、k番目のパーセンタイル値(0≦k≦1)を返します。境界値を含みます。PERCENTILEは互換性のための旧関数名。 例: =PERCENTILE.INC(D1:D100, 0.9) → D1:D100 のデータにおける90パーセンタイル値。 |
PERCENTILE.EXC | PERCENTILE.EXC(配列, k) |
データセットの中で、k番目のパーセンタイル値(0<k<1)を返します。境界値を含みません。(Excel 2010以降) 例: =PERCENTILE.EXC(D1:D100, 0.9) → D1:D100 のデータにおける90パーセンタイル値(境界値含まず)。 |
QUARTILE.INC / QUARTILE | QUARTILE.INC(配列, 戻り値) |
データセットの四分位数を返します。境界値を含みます。QUARTILEは互換性のための旧関数名。 [戻り値]: 0=最小値, 1=第1四分位数(25%), 2=中央値(50%), 3=第3四分位数(75%), 4=最大値。 例: =QUARTILE.INC(D1:D100, 1) → 第1四分位数。 |
QUARTILE.EXC | QUARTILE.EXC(配列, 戻り値) |
データセットの四分位数を返します。境界値を含みません。(Excel 2010以降) [戻り値]: 1=第1四分位数, 2=中央値, 3=第3四分位数。 例: =QUARTILE.EXC(D1:D100, 1) → 第1四分位数(境界値含まず)。 |
CORREL | CORREL(配列1, 配列2) |
2つのデータセット間の相関係数を返します。-1から1の間の値で、関連性の強さを示します。 例: =CORREL(A1:A50, B1:B50) → A列とB列のデータの相関係数。 |
PEARSON | PEARSON(配列1, 配列2) |
ピアソンの積率相関係数を返します。CORRELと同じ結果になります。 例: =PEARSON(A1:A50, B1:B50) |
FREQUENCY | FREQUENCY(データ配列, 区間配列) |
指定した区間内にデータがいくつ分布するか(度数分布)を、縦方向の配列として返します。配列数式として入力する必要があります(Ctrl+Shift+Enter、またはスピル)。 例: データがA1:A100、区間の上限値がB1:B5にある場合、結果を表示したいセル範囲(例:C1:C6)を選択し、 =FREQUENCY(A1:A100, B1:B5) を入力して Ctrl+Shift+Enter。 |
データベース関数 🗃️
リストやデータベース形式のデータから、条件に合うレコードを集計・抽出します。
関数名 | 構文 | 説明と使用例 |
---|---|---|
DSUM | DSUM(データベース, フィールド, 条件) |
データベース(リスト)内で、指定した条件に一致するレコードの特定のフィールド(列)の値の合計を計算します。 データベース: 見出し行を含むデータ範囲 (例: A1:D100)。 フィールド: 合計したい列の見出し文字列 (例: “売上”) または列番号 (例: 3)。 条件: 見出し行と条件を含むセル範囲 (例: F1:G2)。 例: =DSUM(A1:D100, "売上", F1:G2) → F1:G2の条件に合うレコードの”売上”列の合計。 |
DAVERAGE | DAVERAGE(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードの特定のフィールドの値の平均を計算します。 例: =DAVERAGE(A1:D100, 3, F1:G2) → F1:G2の条件に合うレコードの3列目の平均。 |
DCOUNT | DCOUNT(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードのうち、特定のフィールドに数値が入力されているセルの個数を数えます。 [フィールド]は省略可能(または空文字列 “”)ですが、通常は数値が含まれる列を指定します。 例: =DCOUNT(A1:D100, "数量", F1:G2) → 条件に合うレコードの”数量”列にある数値セルの数。 |
DCOUNTA | DCOUNTA(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードのうち、特定のフィールドが空白でないセルの個数を数えます。 [フィールド]は省略可能(または空文字列 “”)ですが、通常は何らかの値が入る列を指定します。 例: =DCOUNTA(A1:D100, 1, F1:G2) → 条件に合うレコードの1列目にある空白でないセルの数。 |
DMAX | DMAX(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードの特定のフィールドの最大値を返します。 例: =DMAX(A1:D100, "売上", F1:G2) → 条件に合うレコードの”売上”列の最大値。 |
DMIN | DMIN(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードの特定のフィールドの最小値を返します。 例: =DMIN(A1:D100, "単価", F1:G2) → 条件に合うレコードの”単価”列の最小値。 |
DGET | DGET(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致する単一のレコードから、特定のフィールドの値を抽出します。条件に一致するレコードがない場合は #VALUE!、複数ある場合は #NUM! エラーを返します。 例: =DGET(A1:D100, "担当者", F1:F2) → F1:F2の条件(例: “ID”=123)に一致する唯一のレコードの”担当者”を返す。 |
DPRODUCT | DPRODUCT(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードの特定のフィールドの値の積を計算します。 例: =DPRODUCT(A1:D100, "係数", F1:G2) → 条件に合うレコードの”係数”列の値の積。 |
DSTDEV | DSTDEV(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードを標本とし、特定のフィールドの値の標準偏差の推定値を計算します。 例: =DSTDEV(A1:D100, "スコア", F1:G2) → 条件に合うレコードの”スコア”列の標本標準偏差。 |
DSTDEVP | DSTDEVP(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードを母集団全体とし、特定のフィールドの値の標準偏差を計算します。 例: =DSTDEVP(A1:D100, "スコア", F1:G2) → 条件に合うレコードの”スコア”列の母標準偏差。 |
DVAR | DVAR(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードを標本とし、特定のフィールドの値の分散の推定値を計算します。 例: =DVAR(A1:D100, "スコア", F1:G2) → 条件に合うレコードの”スコア”列の標本分散。 |
DVARP | DVARP(データベース, フィールド, 条件) |
データベース内で、指定した条件に一致するレコードを母集団全体とし、特定のフィールドの値の分散を計算します。 例: =DVARP(A1:D100, "スコア", F1:G2) → 条件に合うレコードの”スコア”列の母分散。 |
情報関数 ℹ️
セルの状態やデータの種類、エラーの種類などを調べます。
関数名 | 構文 | 説明と使用例 |
---|---|---|
ISBLANK | ISBLANK(値) |
指定したセルが空白の場合に TRUE を返します。 例: =IF(ISBLANK(A1), "未入力", "入力済") |
ISERROR | ISERROR(値) |
値が任意のエラー値 (#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, #NULL!) の場合に TRUE を返します。 例: =IF(ISERROR(A1), "計算エラー", A1) |
ISERR | ISERR(値) |
値が #N/A 以外のエラー値の場合に TRUE を返します。 例: =IF(ISERR(A1), "エラー(#N/A以外)", "") |
ISNA | ISNA(値) |
値が #N/A エラーの場合に TRUE を返します。VLOOKUP 等の結果判定に便利。 例: =IF(ISNA(VLOOKUP(...)), "見つかりません", VLOOKUP(...)) |
ISEVEN | ISEVEN(数値) |
数値が偶数の場合に TRUE を返します。小数は切り捨てて判定されます。 例: =ISEVEN(A1) |
ISODD | ISODD(数値) |
数値が奇数の場合に TRUE を返します。小数は切り捨てて判定されます。 例: =ISODD(A1) |
ISNUMBER | ISNUMBER(値) |
値が数値の場合に TRUE を返します。 例: =IF(ISNUMBER(A1), A1*1.1, "数値ではありません") |
ISTEXT | ISTEXT(値) |
値が文字列の場合に TRUE を返します。 例: =IF(ISTEXT(A1), "文字列です", "文字列以外") |
ISLOGICAL | ISLOGICAL(値) |
値が論理値 (TRUE または FALSE) の場合に TRUE を返します。 例: =ISLOGICAL(A1) |
ISNONTEXT | ISNONTEXT(値) |
値が文字列でない(数値、日付、論理値、エラー値、空白など)場合に TRUE を返します。 例: =IF(ISNONTEXT(A1), "文字列以外", "文字列です") |
ISREF | ISREF(値) |
値がセル参照(A1 や A1:B5 など)の場合に TRUE を返します。 例: =ISREF(A1) → TRUE |
CELL | CELL(検査の種類, [参照]) |
指定したセルの書式、位置、内容に関する情報を返します。[参照]を省略すると、最後に変更されたセルの情報が返ります。 検査の種類: “address”, “col”, “row”, “filename”, “format”, “type”, “width” など。 例: =CELL("address", B5) → “$B$5”例: =CELL("filename") → ブックのフルパスとシート名。 |
ERROR.TYPE | ERROR.TYPE(エラー値) |
特定のエラー値に対応する数値を返します。 #NULL! = 1, #DIV/0! = 2, #VALUE! = 3, #REF! = 4, #NAME? = 5, #NUM! = 6, #N/A = 7, その他 = #N/A。 例: =IF(ERROR.TYPE(A1)=7, "該当なしエラー", "その他のエラー") |
TYPE | TYPE(値) |
値の種類を示す数値を返します。 数値=1, 文字列=2, 論理値=4, エラー値=16, 配列=64。 例: =TYPE(A1) |
NA | NA() |
エラー値 #N/A (該当なし) を返します。データがまだ利用できないことを示すために使われます。 例: =IF(A1="", NA(), A1*10) |
SHEET | SHEET([値]) |
参照先のシート番号を返します。[値]はシート名、セル参照、定義名など。[値]を省略すると、関数が入力されているシートの番号を返します。 例: =SHEET(Sheet3!A1) → Sheet3のシート番号 (例: 3)例: =SHEET() → 現在のシート番号。 |
SHEETS | SHEETS([参照]) |
参照に含まれるシートの数を返します。[参照]を省略すると、現在のブック内の全シート数を返します。 例: =SHEETS(Sheet1:Sheet3) → 3例: =SHEETS() → ブック内の全シート数。 |