### 概要
Excelは、ビジネスシーンはもちろん、個人のデータ管理においても非常に強力なツールです。その中でも、関数はExcelの真価を引き出すための鍵となります。本記事では、Excel初心者の方が日常業務で頻繁に遭遇するであろう、使い勝手の良い便利な関数を厳選し、その機能と使い方を詳細に解説します。基本的な集計から、条件分岐、文字列操作、日付計算まで、幅広くカバーすることで、Excelの基本操作をマスターし、より効率的なデータ処理を実現するための第一歩を支援します。サンプルコードと実務での活用例も交えながら、実践的な知識を深めていきましょう。
### 詳細解説
#### 1. SUM関数:合計を計算する基本中の基本
最も基本的かつ頻繁に使用される関数の一つがSUM関数です。指定した範囲の数値の合計を算出します。
**構文:**
`=SUM(数値1, [数値2], …)`
* `数値1`: 合計したい最初の数値、セル参照、またはセル範囲を指定します。
* `[数値2], …`: 省略可能ですが、追加で合計したい数値、セル参照、またはセル範囲を指定できます。
**例:**
セルA1からA5までの合計を計算したい場合。
`=SUM(A1:A5)`
セルA1、B2、C3の値を合計したい場合。
`=SUM(A1, B2, C3)`
#### 2. AVERAGE関数:平均値を計算する
AVERAGE関数は、指定した範囲の数値の平均値を計算します。
**構文:**
`=AVERAGE(数値1, [数値2], …)`
* `数値1`: 平均値を計算したい最初の数値、セル参照、またはセル範囲を指定します。
* `[数値2], …`: 省略可能ですが、追加で平均値を計算したい数値、セル参照、またはセル範囲を指定できます。
**例:**
セルB1からB10までの平均値を計算したい場合。
`=AVERAGE(B1:B10)`
#### 3. COUNT関数:数値が含まれるセルの個数を数える
COUNT関数は、指定した範囲内で数値が含まれるセルのみをカウントします。文字列や空白セルはカウントしません。
**構文:**
`=COUNT(値1, [値2], …)`
* `値1`: カウントしたい数値、セル参照、またはセル範囲を指定します。
* `[値2], …`: 省略可能ですが、追加でカウントしたい数値、セル参照、またはセル範囲を指定できます。
**例:**
セルC1からC20までの範囲で、数値が入力されているセルの個数を数えたい場合。
`=COUNT(C1:C20)`
#### 4. COUNTA関数:空白でないセルの個数を数える
COUNTA関数は、指定した範囲内で空白でないセル(数値、文字列、論理値、エラー値などを含む)の個数をカウントします。
**構文:**
`=COUNTA(値1, [値2], …)`
* `値1`: カウントしたい値、セル参照、またはセル範囲を指定します。
* `[値2], …`: 省略可能ですが、追加でカウントしたい値、セル参照、またはセル範囲を指定できます。
**例:**
セルD1からD30までの範囲で、何らかの値が入力されているセルの個数を数えたい場合。
`=COUNTA(D1:D30)`
#### 5. MAX関数:最大値を求める
MAX関数は、指定した範囲の数値の中で最も大きい値(最大値)を返します。
**構文:**
`=MAX(数値1, [数値2], …)`
* `数値1`: 最大値を求めたい最初の数値、セル参照、またはセル範囲を指定します。
* `[数値2], …`: 省略可能ですが、追加で最大値を求めたい数値、セル参照、またはセル範囲を指定できます。
**例:**
セルE1からE15までの売上データの中から、最も高い売上額を見つけたい場合。
`=MAX(E1:E15)`
#### 6. MIN関数:最小値を求める
MIN関数は、指定した範囲の数値の中で最も小さい値(最小値)を返します。
**構文:**
`=MIN(数値1, [数値2], …)`
* `数値1`: 最小値を求めたい最初の数値、セル参照、またはセル範囲を指定します。
* `[数値2], …`: 省略可能ですが、追加で最小値を求めたい数値、セル参照、またはセル範囲を指定できます。
**例:**
セルF1からF10までの温度データの中から、最も低い温度を見つけたい場合。
`=MIN(F1:F10)`
#### 7. IF関数:条件に基づいて値を返す
IF関数は、指定した条件が真(TRUE)か偽(FALSE)かに応じて、異なる値を返す条件分岐の基本関数です。
**構文:**
`=IF(論理式, 真の場合の値, 偽の場合の値)`
* `論理式`: 評価したい条件を指定します。例えば、`A1>100` や `B2=”東京”` など。
* `真の場合の値`: 論理式がTRUEと評価された場合に返される値です。数値、文字列、他の関数などを指定できます。
* `偽の場合の値`: 論理式がFALSEと評価された場合に返される値です。数値、文字列、他の関数などを指定できます。
**例:**
セルG1の値が100より大きい場合は「合格」、それ以外の場合は「不合格」と表示したい場合。
`=IF(G1>100, “合格”, “不合格”)`
#### 8. AND関数:複数の条件がすべて真であるかを判定する
AND関数は、引数として与えられたすべての条件がTRUEである場合にTRUEを返し、一つでもFALSEがあればFALSEを返します。IF関数と組み合わせて、複数の条件を満たす場合に処理を行いたいときに便利です。
**構文:**
`=AND(論理値1, [論理値2], …)`
* `論理値1`: 評価したい最初の条件を指定します。
* `[論理値2], …`: 省略可能ですが、追加で評価したい条件を指定できます。
**例:**
セルH1の値が50以上かつ、セルI1の値が100以下である場合に「条件クリア」と表示したい場合。
`=IF(AND(H1>=50, I1<=100), "条件クリア", "")`
#### 9. OR関数:複数の条件のいずれかが真であるかを判定する
OR関数は、引数として与えられた条件のうち、一つでもTRUEがあればTRUEを返し、すべての条件がFALSEである場合にのみFALSEを返します。
**構文:**
`=OR(論理値1, [論理値2], ...)`
* `論理値1`: 評価したい最初の条件を指定します。
* `[論理値2], ...`: 省略可能ですが、追加で評価したい条件を指定できます。
**例:**
セルJ1の値が「A」またはセルK1の値が「B」である場合に「対象」と表示したい場合。
`=IF(OR(J1="A", K1="B"), "対象", "")`
#### 10. CONCATENATE関数(または&演算子):文字列を結合する
CONCATENATE関数は、複数の文字列を一つに結合します。最近のExcelバージョンでは、より簡潔に「&」演算子でも同様のことができます。
**構文:**
`=CONCATENATE(文字列1, [文字列2], ...)`
* `文字列1`: 結合したい最初の文字列、セル参照、または文字列を指定します。
* `[文字列2], ...`: 省略可能ですが、追加で結合したい文字列、セル参照、または文字列を指定できます。
**例:**
セルL1の「山田」さんと、セルM1の「太郎」さんを「山田太郎」と結合したい場合。
`=CONCATENATE(L1, M1)`
または
`=L1&M1`
間にスペースを入れたい場合。
`=CONCATENATE(L1, " ", M1)`
または
`=L1&" "&M1`
#### 11. LEFT関数:文字列の左端から指定した文字数を取得する
LEFT関数は、文字列の左端から指定した文字数を取り出します。
**構文:**
`=LEFT(文字列, 文字数)`
* `文字列`: 対象の文字列、または文字列が含まれるセルを指定します。
* `文字数`: 左端から取得したい文字数を指定します。
**例:**
セルN1の文字列「ABCDEFG」から、左から3文字を取り出したい場合。
`=LEFT(N1, 3)` → 結果は「ABC」
#### 12. RIGHT関数:文字列の右端から指定した文字数を取得する
RIGHT関数は、文字列の右端から指定した文字数を取り出します。
**構文:**
`=RIGHT(文字列, 文字数)`
* `文字列`: 対象の文字列、または文字列が含まれるセルを指定します。
* `文字数`: 右端から取得したい文字数を指定します。
**例:**
セルO1の文字列「ABCDEFG」から、右から2文字を取り出したい場合。
`=RIGHT(O1, 2)` → 結果は「FG」
#### 13. MID関数:文字列の指定した位置から指定した文字数を取得する
MID関数は、文字列の指定した位置から、指定した文字数だけ文字列を取り出します。
**構文:**
`=MID(文字列, 開始位置, 文字数)`
* `文字列`: 対象の文字列、または文字列が含まれるセルを指定します。
* `開始位置`: 文字列のどこから取り始めるかを指定します(1から始まります)。
* `文字数`: 取り出す文字列の長さを指定します。
**例:**
セルP1の文字列「ABCDEFG」から、3文字目から4文字を取り出したい場合。
`=MID(P1, 3, 4)` → 結果は「CDEF」
#### 14. LEN関数:文字列の長さを取得する
LEN関数は、指定した文字列に含まれる文字数(バイト数ではなく文字数)を返します。
**構文:**
`=LEN(文字列)`
* `文字列`: 文字数を数えたい文字列、または文字列が含まれるセルを指定します。
**例:**
セルQ1の文字列「Excel関数」の文字数を数えたい場合。
`=LEN(Q1)` → 結果は「6」
#### 15. TODAY関数:今日の日付を取得する
TODAY関数は、現在の日付を返します。この値は、ブックが開かれるたびに自動的に更新されます。
**構文:**
`=TODAY()`
**例:**
現在の日付をセルR1に表示したい場合。
`=TODAY()`
#### 16. YEAR関数:日付から年を取得する
YEAR関数は、日付データから年の部分を数値として返します。
**構文:**
`=YEAR(日付)`
* `日付`: 対象の日付データ、または日付が含まれるセルを指定します。
**例:**
セルS1に「2023/10/27」という日付が入っている場合、年だけを取り出したい場合。
`=YEAR(S1)` → 結果は「2023」
#### 17. MONTH関数:日付から月を取得する
MONTH関数は、日付データから月の部分を数値として返します。
**構文:**
`=MONTH(日付)`
* `日付`: 対象の日付データ、または日付が含まれるセルを指定します。
**例:**
セルS1に「2023/10/27」という日付が入っている場合、月だけを取り出したい場合。
`=MONTH(S1)` → 結果は「10」
#### 18. DAY関数:日付から日を取得する
DAY関数は、日付データから日の部分を数値として返します。
**構文:**
`=DAY(日付)`
* `日付`: 対象の日付データ、または日付が含まれるセルを指定します。
**例:**
セルS1に「2023/10/27」という日付が入っている場合、日だけを取り出したい場合。
`=DAY(S1)` → 結果は「27」
### サンプルコード
ここでは、上記の関数を組み合わせた実用的な例をいくつか示します。
**例1:成績評価(IF関数とAND関数、OR関数を使用)**
| 学生名 | 点数1 | 点数2 | 合計点 | 評価 |
| :----- | :---- | :---- | :----- | :----- |
| 山田 | 85 | 92 | 177 | 優 |
| 佐藤 | 70 | 65 | 135 | 並 |
| 田中 | 95 | 88 | 183 | 優 |
| 鈴木 | 55 | 75 | 130 | 要改善 |
* **合計点 (D2セル):** `=SUM(B2:C2)`
* **評価 (E2セル):**
* 合計点が180点以上なら「優」
* 合計点が150点以上なら「良」
* 合計点が120点以上なら「並」
* それ以外は「要改善」
これはネストされたIF関数で実現できます。
`=IF(D2>=180, “優”, IF(D2>=150, “良”, IF(D2>=120, “並”, “要改善”)))`
**例2:請求書明細(CONCATENATE関数とLEFT/RIGHT関数を使用)**
| 商品コード | 商品名 | 数量 | 単価 | 品目 |
| :——— | :——— | :— | :—– | :——— |
| ABC-101 | りんご | 5 | 150 | ABC |
| XYZ-205 | バナナ | 10 | 80 | XYZ |
| PQR-303 | みかん | 8 | 120 | PQR |
* **品目 (E2セル):** 商品コードの左から3文字を取得します。
`=LEFT(A2, 3)`
**例3:締切日管理(TODAY関数、YEAR関数、MONTH関数、DAY関数を使用)**
| タスク名 | 締切日 | 締切年 | 締切月 | 締切日 | 今日 | 締切まであと何日 |
| :——— | :——— | :—– | :—– | :——— | :— | :————— |
| 資料作成 | 2023/11/15 | 2023 | 11 | 15 | 2023/10/27 | 19 |
| 報告書提出 | 2023/12/01 | 2023 | 12 | 1 | 2023/10/27 | 35 |
* **締切年 (C2セル):** `=YEAR(B2)`
* **締切月 (D2セル):** `=MONTH(B2)`
* **締切日 (E2セル):** `=DAY(B2)`
* **今日 (F2セル):** `=TODAY()`
* **締切まであと何日 (G2セル):** 締切日から今日の日付を引きます。
`=B2-$F$2`
($F$2のように絶対参照にすることで、G2セルを下にコピーしてもF2セルの参照がずれません。)
### 実務アドバイス
* **関数のヘルプ機能を活用する:** Excelの数式バーの左にある `fx` ボタンをクリックすると、関数の挿入ダイアログが表示されます。ここで関数名を選択し、引数にカーソルを合わせると、その引数の説明が表示されます。これは関数を覚える上で非常に役立ちます。
* **サンプルデータで試す:** 新しい関数を学ぶ際は、実際の業務データではなく、自分で作成した簡単なサンプルデータで試すことから始めましょう。意図しない結果になった場合でも、原因を特定しやすくなります。
* **エラー値の理解:** 関数によっては、#N/A、#VALUE!、#REF! などのエラー値を返すことがあります。これらのエラーは、関数の引数が不正であったり、参照先のセルが存在しない場合などに発生します。エラーメッセージをよく読み、原因を特定することが重要です。
* **文字列操作関数はテキスト形式に注意:** CSVファイルなどをインポートした際に、数値が文字列として扱われてしまうことがあります。LEFT、RIGHT、MID関数などの文字列操作関数は、対象が文字列であることを前提としているため、意図した結果が得られない場合は、セルの表示形式を確認したり、VALUE関数などで数値に変換したりする必要があるかもしれません。
* **日付・時刻関数は日付形式に注意:** Excelが日付として認識していないデータ(例: 「2023/10/27」と入力しても、Excelが文字列と誤認識している)に対して日付関数を使用すると、エラーになることがあります。セルの表示形式を「日付」に設定し、Excelが正しく日付として認識しているか確認しましょう。
* **IF関数のネストはほどほどに:** IF関数を複数重ねる

コメント