2022/02/15の勉強会「Excelの関数」についてのレポートと感想である。
当勉強会の内容は、ITエンジニアとして必要な基礎知識である「Excelの関数」についてであり、Excelの関数を理解し活用することで仕事の生産性を向上させる、またプログラミングの行為に慣れるという目的で行われた。
Excelについての概要記事はこちら

Excelの関数とは
「関数」とは広義的に、Input(引数)を与えたら、Output(戻り値)を返してくれるProcessにあたる部分である。
「Excelの関数」とは、セル、範囲、指定値をInputとし、セルの値をOutputとして返すProcessのことである。
Excelの関数は、業務の生産性を向上させるため、またプログラミングに慣れるためにも身に付けなければならない。業務の生産性の向上とは、Excelの関数を覚え活用することにより作業スピードが上がること、また、Excelに処理を行わせることにより、人為的なミスの軽減になることを指す。プログラミングに慣れることとは、プログラミングの要素を含むExcelの関数を学ぶことで、プログラミングという行為に慣れるという事である。
Excelの関数は、上記の事を達成するために学び活用するのであり、目的も無くただ多くの関数を覚えるという行為には意味がない。
覚えるべき基本的な関数
ここで紹介する基本的な関数は、様々な場面で活用する事が可能である。その中でも特に身に付けるべき関数は、数値の演算(説明した全て)、文字列操作(説明した全て)、論理式(IF・AND・OR)、データベース系(VLOOKUP)である。
基本的な関数を覚え活用することにより作業のスピードを上げ、人為的なミスを軽減する事が可能になる。また、これらの関数は初級編であり一番初めに身に付けるべきである。これらが活用できないようでは、高度な関数を活用する事は不可能である。
数値の演算
何らかのデータの値の集計を行う場面として、例えば、支店ごとの売り上げを集計する場合等に活用される。
関数 | 用途 | 活用方法と入力の仕方 |
SUM | 数値の合計を求める | ①セルの範囲を指定し合計を求める
=SUM(範囲の始まり:範囲の終わり) ②離れたセルを複数指定し合計を求める =SUM(セル,セル,) ③指定したセルと数値の合計を求める =SUM(セル,数値) |
AVERAGE | 数値の平均値を求める | ①セルの範囲を指定し平均を求める
=AVERAGE(範囲の始まり:範囲の終わり) ②離れたセルを複数指定し平均を求める =AVERAGE(セル,セル) ③指定したセルと数値の平均を求める =AVERAGE(セル,数値) |
MAX | 数値の最大値を求める | ①セルの範囲を指定し最大値を求める
=MAX(範囲の始まり:範囲の終わり) ②離れたセルを複数指定し最大値を求める =MAX(セル,セル) ③指定したセルと数値の最大値を求める =MAX(セル,数値) |
MIN | 数値の最小値を求める | ①セルの範囲を指定し最小値を求める
=MIN(範囲の始まり:範囲の終わり) ②離れたセルを複数指定し最小値を求める =MIN(セル,セル) ③指定したセルと数値の最小値を求める =MIN(セル,数値) |
文字列操作
何らかのデータより一部の値を取り出す場面として、例えば、顧客の住所より、都道府県だけ或いは市町村だけを取り出す場合等に活用される。
関数 | 用途 | 活用方法と入力の仕方 |
RIGHT | 右端から何文字かを取り出す | ①何らかの値が入ったセルを指定し、右から何文字かを取り出す
=RIGHT(セル,文字数) |
LEFT | 左端から何文字かを取り出す | ①何らかの値が入ったセルを指定し、左から何文字かを取り出す
=LEFT(セル,文字数) |
MID | 指定した位置から何文字かを取り出す | ①何らかの値が入ったセルを指定し、取り出したい値の開始位置と何文字かを指定し値を取り出す
=MID(セル,開始位置,文字数) |
TRIM | 空白文字を削除する | ①指定したセル内の値の先頭と末尾に入力されている空白文字を削除
=TRIM(セル) |
日付・時刻
関数 | 用途 | 活用方法と入力の仕方 |
NOW | 現在の日付と時刻を求める | ①現在の日付と時刻を求める
NOW() 引数は必要ない |
YEAR | 日付から「年」を取り出す | ①指定したセルの日付から年を取り出す
=YEAR(セル) ②シリアル値から年を求める =YEAR(シリアル値)※1 |
MONTH | 日付から「月」を取り出す | ①指定したセルの日付から月を取り出す
=MONTH(セル) ②シリアル値から月を求める =MONTH(シリアル値) |
DAY | 日付から「日」を取り出す | ①指定したセルの日付から日を取り出す
=DAY(セル) ②シリアル値から日を求める =DAY(シリアル値) |
DATE | 年、月、日から日付を求める | ①年月日を与えると日付を返す
=DATE(年,月,日)※2 |
※1 シリアル値とは、1900/1/1を1とする年月日に与えられた通し番号
※2 月に12以上の数値を指定すると、次年以降の月と日が指定されたものとみなされる。また、日に月の最終日を超える数値を指定すると、次月以降の月と日が指定されたものとみなされる
論理式
条件を満たすデータを取り出す場面として、例えば在庫管理の場合、在庫が安全在庫数を下回っていたら発注と返し、安全在庫数を上回っていたら在庫ありと返す場合等に活用される。
関数 | 用途 | 活用方法と入力の仕方 |
ISBLANK | 空白セルかどうかを調べる | ①指定したセルが空白ならばTRUE、空白でなければFALSEを返す
=ISBLANK(セル) |
ISERROR | エラー値かどうかを調べる | ①指定したセルがエラー値ならばTRUE、エラー値でなければFALSEを返す
=ISERROR(セル) |
IF | 条件によって利用する式を変える | ①論理式が真であればTRUE、偽であればFALSEを返す
=IF(論理式,真の場合,偽の場合) ※3 |
AND | すべての条件が満たされているかを調べる | ①論理式がすべて真であればTRUE、1つでも偽があればFALSEを返す
=AND(論理式1,論理式2) |
OR | いずれかの条件が満たされているかを調べる | ①論理式のうち1つでも真であればTRUE、全て偽であればFALSEを返す
=OR(論理式1,論理式2) |
SUMIF | 条件を指定して数値を合計する | ①指定した範囲のセルのうち、検索条件に合う値の合計を求める
=SUMIF(範囲,”検索条件”,合計範囲)※4※5 |
COUNTIF | 条件に一致するデータの個数を求める | ①指定した範囲のセルの値のうち、条件に合う値の個数を求める
=COUNTIF(範囲,”検索条件”)※5 |
※3 ここで言う論理式とは、TRUEかFALSEを返す条件の式である。例えば、A1<B1であれば、B1の値がA1より大きい。A1>=80であれば、A1の値が80より大きいという条件になり、関数によってTRUEかFALSEのどちらかを返す。
※4 検索条件では、セルを検索するための条件を数値、文字列で指定することが可能。この検索条件では、ワイルドカード文字を用いる事が可能である。
※5 検索条件ではワイルドカード文字を使用することが可能である。ワイルドカード文字とは、条件を指定するために記号を使用する事。SUMIF、COUNTIF関数では、”<>○○”で〇〇を含まない。または、”*○○*”で〇〇を含むと条件を指定する事が可能。また、>=70で70以上という条件を指定する事が可能である。これはあくまでも一例であり、他にも多くのワイルドカード文字が存在する。
データベース系
指定した条件のデータを取り出す場面として、例えば、商品コードを検索する条件に指定し、その商品コードに対応した商品の価格を取り出す場合等に活用される。
関数 | 用途 | 活用方法と入力の仕方 |
DSUM | 条件を満たすセルの合計を求める | ①データベースの中から、合計を求めたいフィールドを指定し、定めた条件を満たす値の合計を求める
=DSUM(データベース,フィールド,条件)※6※7※8 |
DAVERAGE | 条件を満たすセルの平均を求める | ①データベースの中から、平均を求めたいフィールドを指定し、定めた条件を満たす値の平均を求める
=DAVERAGE(データベース,フィールド,条件) |
VLOOKUP | 検索値を範囲の列の中から検索する | ①指定した検索値を範囲の中から検索方法に沿って値を抜き出す
=VLOOKUP(検索値,範囲,列番号,検索方法)※9※10 |
HLOOKUP | 検索値を範囲の行の中から検索する | ①指定した検索値を範囲の中から検索方法に沿って値を抜き出す
=HLOOKUP(検索値,範囲,行番号,検索方法)※11 |
INDEX | 行と列で指定した位置の値を求める | ①指定した範囲のセルの中から指定した位置の値を求める
=INDEX(範囲の始まり:範囲の終わり,行番号,列番号) |
MATCH | 検査値の相対位置を求める | ①検索値を指定し、検査範囲の中からその検索値がどの位置にあるのか求める
=MATCH(検索値,検査範囲,照合の種類) ※12 |
※6 条件はセルにあらかじめ入力しておく必要があり、関数を入力する時にはその条件を入力したセルを指定する。
※7 ここで言うデータベースとは、項目とレコードを含めたセルの範囲の事。
※8 フィールドとは項目の事。
※9 列番号とは、範囲の中で何列目かという事。
※10 検索方法とは、検索値以外の値を検索するか否かを指定する。TRUEまたは、省略の場合検索値以下の最大値を検索。FALSEの場合、検索値に一致する値のみを検索する
※11 行番号とは、範囲の中で何行目かという事。
※12 照合の種類とは、1:検索値以下の最大値、0:検索値と一致する値、-1:検索値以上の最小値を検索。
まとめ
エクセルの関数を覚える事は、生産性を上げるため、プログラミングに慣れるために必要である。またExcelは「表計算ソフト」であるため、業務においては、データの計算、データを抽出するために有効に活用しなければならない。Excelの関数を覚え、活用できるか否かが、作業のスピードを上げる事、人為的なミスを軽減することに繋がる。
また、Excelの関数はプログラミングの要素を含むため、プログラミング初学者はまずExcelの関数を覚え、活用することでプログラミングの行為に慣れることが可能である。あくまでも、Excelの関数は目的のための手段であって、目的もなく関数を沢山覚える事には意味がない。
感想
関数を何個使えるかというより、必要な時に必要な関数を使用する事が必要であり、それが関数を学ぶ本質であると感じた。また、関数は様々な用途に応用が利くため、関数の本質を理解することにより活用方法を展開できると感じた。
Excelを使用する機会は今までにそれほどなかったが、業務で使用する前に今回習った事を練習しようと思う。

コメント