- エクセルの関数にはどのようなものがあるのだろう?
- できれば一覧で知りたい!
そんな思いにお応えできるようこの記事では、
- よく使うエクセル関数の一覧
- 関数の組み合わせ方法や日付に関する関数
- エクセルマクロで使用できる関数
について解説しています。
よく使うものを中心にまとめているので、短時間でざっくりと理解したい方におすすめの記事です。
よく使うエクセル関数一覧
実務で使用頻度の高いエクセル関数は職場によっても異なりますが、今回10種類にまとめました。
関数名 | 機能 | 数式の型 | 数式例 |
SUM関数 | 足し算の結果を返してくれる | =SUM(合計する値) | =SUM(B2:B4) |
AVERAGE関数 | 平均の結果を返してくれる | =AVERAGE(平均する値) | =AVERAGE(B2:B4) |
MAX関数 | 最大の値を返してくれる | =MAX(最大値を調べたい値) | =MAX(B2:B13) |
MIN関数 | 最小の値を返してくれる | =MIN(最小値を調べたい値) | =MIN(B2:B13) |
ROUND関数 | 四捨五入した値を返してくれる | =ROUND(数値,桁数) | =ROUND(B2,0) |
IF関数 | 条件に一致した場合・一致しない場合の値を返してくれる | =IF(論理式,値が真の場合,値が偽の場合) | =IF(A1>80,"OK","NG") |
VLOOKUP関数 | 検索値をもとに表から値を探してくれる | =VLOOKUP(検索値,範囲,列番号,検索方法) | =VLOOKUP(C4,$H$4:$I$6,2,FALSE) |
LEFT関数 | 文字列の先頭から指定した文字数を取り出してくれる | =LEFT(文字列,文字数) | =LEFT(B3,6) |
MID関数 | 文字列の指定開始位置から指定文字数を取り出してくれる | =MID(文字列,開始位置,文字数) | =MID(B3,3,4) |
RIGHT関数 | 文字列の末尾から指定した文字数を取り出してくれる | =RIGHT(文字列,文字数) | =RIGHT(B3,4) |
エクセルの関数は数百種類ありますが、全部を覚える必要は全くありません。これらのたった10種類の関数を使うことができるだけで実務上の多くの場面をカバーすることができます。
これでも多い!と思われる方は、
- IF関数
- VLOOKUP関数
を優先して下さい。この2つの関数を難なく使えるようになれば「エクセル実務レベル」と言っても問題無いです。
この2つがさっぱり分からない・・・という方は
- SUM関数
- AVERAGE関数
などの基本的な関数をしっかり使えるようになりましょう。足し算・割り算が関数になっているだけなのですぐに理解することができます。
一覧表をPDFにしたものは、無料のメール講座登録にてプレゼントしています。
また、それぞれの関数の使い方について詳しく知りたい方は下記の記事で解説していますのでご参考下さい。
【PDFダウンロード可】厳選!エクセル実務でよく使う関数一覧
エクセル関数の組み合わせ
エクセルの関数は単体でもとても便利なのですが、複数の関数を組み合わせて使用することが可能です。
例えば下記の数式ではIF関数を2回使用しています。
下記の例では1つの数式の中でIF関数とVLOOKUP関数を組み合わせて使っていますね。
関数の組み合わせ方は自由なので何通りでも考えることができるのですが、例えば下記のような組み合わせがあります。
- IF関数 × IF関数
- IF関数 × VLOOKUP関数
- LEFT関数 × FIND関数
関数を組み合わせることで、場合分けを増やしたり指定の文字を抽出したりと多くのことを実現することができます。
下記の記事で具体例とともに詳しく解説していますので、是非ご参考下さい!
日付に関するエクセル関数
通常の関数と少し異なるのが、日付を扱うエクセル関数です。
日付を扱う関数を調べると「シリアル値」という用語がでてきて少し難しく感じるかもしれませんが、使ってみると簡単です。
代表的なものには下記のような関数があります。
関数名 | 機能 | 数式の型 | 使用例 | 備考 |
DATE関数 | シリアル値を返してくれる | =DATE(年,月,日) | =DATE(1900,1,1) | |
DAY関数 | 値に含まれる「日付」データを返してくれる | =DAY(シリアル値) | =DAY("2020/5/13") | 実用上「シリアル値」の部分は日付表現でもOK(エクセルが変換してくれるため) |
DAYS関数 | 引数で指定した日付の間の日数を返してくれる | =DAYS(終了日,開始日) | =DAYS("2019/3/4","2018/5/5") | |
MONTH関数 | 値に含まれる「月」データを返してくれる | =MONTH(シリアル値) | =MONTH("2020/5/13") | 実用上「シリアル値」の部分は日付表現でもOK(エクセルが変換してくれるため) |
SECOND関数 | 値に含まれる「秒」データを返してくれる | =SECOND(シリアル値) | =SECOND("18:33:21") | 実用上「シリアル値」の部分は時刻表現でもOK(エクセルが変換してくれるため) |
MINUTE関数 | 値に含まれる「分」データを返してくれる | =MINUTE(シリアル値) | =MINUTE("18:33:21") | 実用上「シリアル値」の部分は時刻表現でもOK(エクセルが変換してくれるため) |
HOUR関数 | 値に含まれる「時間」データを返してくれる | =HOUR(シリアル値) | =HOUR("18:33:21") | 実用上「シリアル値」の部分は時刻表現でもOK(エクセルが変換してくれるため) |
NOW関数 | 現在の日付・時刻を返してくれる | =NOW() | =NOW() | 引数は不要 |
TODAY関数 | 現在の日付を返してくれる | =TODAY() | =TODAY() | 引数は不要 |
下記の記事ではシリアル値の解説もしているので、確認してみて下さい。
エクセルマクロで使う関数
最後に、エクセルマクロで使用する関数です。
マクロとVBAがよく分からない方もいるかもしれませんが、
- マクロ:処理を一まとまりにしたもの
- VBA:マクロを作るために記述するプログラミング言語
です。
そのため、VBAのコードを書く際に使用できるエクセル関数という言い方のほうが適切かもしれません。
「開発」タブにある「Visual Basic」をクリックすると出現する下記のような画面で使用することができるエクセル関数についてです。
- ワークシート関数
- VBA関数
- 自分で作る関数
の3種類がありますが、あらかじめエクセルで準備されているワークシート関数・VBA関数についてよく使うものを一覧にしました。
マクロで使えるワークシート関数の一覧
ワークシート関数は普段のエクセルで使っている関数のことです。
一覧を見て頂くと分かりますが、VBAでも使用できるワークシート関数が多くあるので、大変便利です。
ワークシート関数名 | 機能 | VBAでの記述例 |
AVERAGE関数 | 引数に指定した値の平均値を返してくれる | WorksheetFunction.Average(Range("A1:A3")) |
COUNT関数 | 引数に指定したセルの値に数値が入力されているセルの個数を返してくれる | WorksheetFunction.Count(Range("A1:A3")) |
COUNTA関数 | 引数に指定したセルの値が空欄でないセルの個数を返してくれる | WorksheetFunction.CountA(Range("A1:A3")) |
COUNTIF関数 | 検索条件に一致するセルの個数を返してくれる | WorksheetFunction.CountIf(Range("A1:A3"), ">= 400") |
COUNTIFS関数 | 複数の検索条件に一致するセルの個数を返してくれる | WorksheetFunction.CountIfs(Range("A1:A3"), ">= 400", Range("B1:B3"), ">= 300") |
IFERROR関数 | エラーの場合に引数に指定した値を返してくれる | WorksheetFunction.IfError(Range("A1"), "エラーです") |
ROUND関数 | 引数に指定の値を指定の桁数で四捨五入した値を返してくれる | WorksheetFunction.Round(Range("A1"), 1) |
SUBSTITUTE関数 |
引数に文字列・検索文字列・置換文字列を指定。検索文字列を置換した文字列を返してくれる |
WorksheetFunction.Substitute(Range("A1"), "エクセル", "ワード") |
SUBTOTAL関数 | 引数に指定した集計方法で、指定の範囲を集計した結果を返してくれる | WorksheetFunction.Subtotal(9, Range("A1:A3")) |
SUMPRODUCT関数 | 引数に指定した配列要素の積を合計した結果を返してくれる | WorksheetFunction.SumProduct(Range("A1:A3"), Range("B1:B3")) |
MAX関数 | 引数に指定した範囲の最大値を返してくれる | WorksheetFunction.Max(Range("A1:A3")) |
MIN関数 | 引数に指定した範囲の最小値を返してくれる | WorksheetFunction.Min(Range("A1:A3")) |
SUM関数 | 引数に指定した値の合計値を返してくれる | WorksheetFunction.Sum(Range("A1:A3")) |
SUMIF関数 | 検索条件に一致するセルの合計値を返してくれる | WorksheetFunction.SumIf(Range("A1:A3"), "=りんご", Range("B1:B3")) |
SUMIFS関数 | 複数の検索条件に一致するセルの合計値を返してくれる | SumIfs(Range("C1:C3"), Range("A1:A3"), "青森", Range("B1:B3"), "りんご") |
VLOOKUP関数 | 引数に指定した検索値・列数に一致する値を返してくれる | WorksheetFunction.VLookup(Range("A1"), Range("C1:D3"), 2, False) |
VBA関数の一覧
VBA関数は、VBAでのみ使用できるあらかじめ準備された関数です。
ワークシート関数と名前が似ていたり使い方が似ているものもありますが、あくまでVBAで使うための関数となります。
VBA関数名 | 機能 |
Dir | 引数に指定した属性と一致するファイル名やフォルダ名を返してくれる |
Format | 引数に指定した値を指定した書式に変換した文字列として返してくれる |
InStr | 引数に指定した文字列が指定した文字列の中で出現する位置を返してくれる |
IsDate | 式を日付に変換できるかどうかを判定した結果を返してくれる |
Left | 引数で指定した文字列から指定した文字数分を左から抽出した結果を返してくれる |
Len | 引数で指定した文字列の文字数を返してくれる |
Mid | 引数で指定した文字列から指定した開始位置・指定した文字数分を抽出した結果を返してくれる |
MsgBox | 引数で指定した値をメッセージボックスとして表示してくれる |
Replace |
引数で指定した文字列から指定の文字を検索し、指定の別の文字に置き換えした結果を返してくれる |
Right | 引数で指定した文字列から指定した文字数分を末尾から抽出した結果を返してくれる |
マクロで使うエクセル関数については、具体的な解説を交え下記の記事で詳しく解説しています。