小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

ExcelのREDUCE関数を使って初期値の設定やLAMBDAによる計算処理を行う方法

2026.04.01

REDUCE関数はLAMBDAによる計算処理を配列に行い、最終結果を返す関数である。他の関数ではできない複雑な計算処理をLAMBDAによって定義し、集計を楽に行える。SCAN関数と違い最終結果のみを返す。

ExcelのREDUCE関数の使い方が分からないという方もいるのではないだろうか?ExcelのREDUCE関数は新しく登場した関数で、処理内容が少々複雑なのが特徴である。

本記事ではExcelのREDUCE関数の使い方を解説する。初期値を設定する方法や、LAMBDA関数の使い方についてまとめた。

REDUCE関数とは?

REDUCE関数はLAMBDAによる計算処理を、指定した配列に行っていく関数だ。そして、計算処理が終わった結果を最後に返す。

たとえば、A1〜A5に「1、2、3、4、5」と書かれていたら、それを順番に足し算していき、最後に全部の足し算の結果である「15」を返す、ということが可能である。

REDUCE関数はMicrosoft 365でのみ利用可能な関数だ。Microsoft 365に登録していない場合は登録が必要となる。

■REDUCE関数の構文

REDUCE関数の基本的な構文は次のとおり。

  • =REDUCE({初期値},{配列},{ラムダ})

初期値を指定することで、その値からスタートできる。たとえば「0」を初期値として指定した場合、最初は0と{配列の最初}の計算から始まる。

■LAMBDA関数とは?

LAMBDA関数とは、ユーザーが独自のカスタム関数を生成できる機能である。

たとえば、足し算を行うだけならSUM関数で問題はない。ただ、SUM関数だけでは「足し算をした後に2倍にする」といった複雑な処理ができない。

LAMBDA関数を使えば、複雑な計算処理をあらかじめ関数として「定義」できる。関数として定義すれば、その関数を呼び出すだけで、計算処理を簡単に行える。

関連記事:ExcelのLAMBDA関数を使って関数の自作を実現する方法

REDUCE関数の基本的な使い方

REDUCE関数の基本的な使い方について解説する。

REDUCE関数で次の5つを行う方法を順番に見ていこう。

  1. 数値の合計を求める
  2. セルの数を求める
  3. 文字数の合計を求める
  4. 文字列を連結する
  5. 最大値・最小値を求める

■1.数値の合計を求める

まず、REDUCE関数で配列の数値の合計を求める方法を解説する。SUM関数でも合計は求められるが、REDUCE関数の簡単な例として紹介する。

以下では「=REDUCE(0,A2:A6,LAMBDA(a,b,a+b))」としている。

配列(A2〜A6)のデータに対して、LAMBDA関数を適用させていく。

数値の合計

実行すると「15」と表示された。

15と表示

REDUCE関数の中では「5+3+2+4+1」という計算処理が行われている。

関連記事:Excelで数値を合計するには?「+」やSUM関数を使って計算する3つの方法

■2.セルの数を求める

続いて、セルの数を求める方法を解説する。

以下では「=REDUCE(0,A2:A6,LAMBDA(a,b,a+1))」としている。

今度は配列(A2〜A6)の個数を1つずつ足していっている。

セルの数

実行すると「5」と表示される。

5と表示

■3.文字数の合計を求める

REDUCE関数を使えば、配列の文字数合計も簡単に求められる。

以下では「=REDUCE(0,A2:A6,LAMBDA(a,b,a+LEN(b)))」としている。

文字数の合計

LEN関数で各データの長さ(文字数)を順番に求め、その数を足していっている。

実行すると「31」と表示された。A2〜A6の文字数の合計になっている。

31と表示

関連記事:スプレッドシートでLEN関数を使って文字数をカウントする方法【図解】

■4.文字列を連結する

続いて、配列の文字列を連結させる方法を解説する。

以下では「=REDUCE(“”,A2:A6,LAMBDA(a,b,a&b))」としている。

最初から空文字からスタート。A2〜A6の文字列を順番に結合させていく。

文字列を連結

実行すると、配列の各データが連結されていることが分かる。

データが連結

関連記事:Excelで「&」を使って文字列を結合する方法

■5.最大値・最小値を求める

最大値を求める方法を解説する。

以下では「=REDUCE(0,A2:A6,LAMBDA(a,b,MAX(a, b)))」としている。

最大値を求める

MAX関数はaとbのどちらが大きいか求められる関数である。

最初は「0とA2どちらが大きいか」を検証する。次に、大きい方の数とA3を比較…。このようにして、A2〜A6でもっとも大きい数を調べる。

実行すると最大値である「5」が表示された。

5と表示

今度は最小値を求める方法を解説する。

以下では「=REDUCE(1000,A2:A6,LAMBDA(a,b,MIN(a, b)))」としている

最小値を求める

MIN関数はaとbのどちらが小さいか求められる関数である。

最初は「1000とA2どちらが小さいか」を検証する。次に、小さい方の数とA3を比較…。このようにして、A2〜A6でもっとも小さい数を調べる。

実行するともっとも小さい数である「1」が表示された。

1と表示

REDUCE関数とSCAN関数の違い

REDUCEとよく似た関数にSCAN関数というものがある。

SCAN関数も同じくLAMBDAによる計算処理を行える関数だ。そして、構文もREDUCE関数と全く同じである。初期値と配列を指定することで、配列に対してLAMBDAによる処理を行える。

REDUCE関数は最終結果のみを返す。だが、SCAN関数は途中経過も返すのが異なる点だ。例を1つ見てみよう。

以下では「=SCAN(0,A2:A6,LAMBDA(a,b,a+b))」としている。A2〜A6までのデータを順番に足し算しようとしている。

scan関数を使う

実行すると次のようになる。REDUCE関数は最終結果のみを返すが、SCAN関数は途中経過もすべて返していることが分かる。

すべて返す

まとめ

本記事ではREDUCE関数とは何かについて解説した。最後にREDUCE関数の基本的な使い方についておさらいしよう。

◯REDUCE関数の構文

  • =REDUCE({初期値},{配列},{ラムダ})

◯REDUCE関数の使用例

  1. 数値の合計を求める
    例:=REDUCE(0,A2:A6,LAMBDA(a,b,a+b))
  2. セルの数を求める
    例:=REDUCE(0,A2:A6,LAMBDA(a,b,a+1))
  3. 文字数の合計を求める
    例:=REDUCE(0,A2:A6,LAMBDA(a,b,a+LEN(b)))
  4. 文字列を連結する
    例:=REDUCE(“”,A2:A6,LAMBDA(a,b,a&b))
  5. 最大値・最小値を求め
    例:=REDUCE(0,A2:A6,LAMBDA(a,b,MAX(a, b)))
    例:=REDUCE(1000,A2:A6,LAMBDA(a,b,MIN(a, b)))

REDUCE関数は、特定範囲にLAMBDA関数で定義した複雑な計算処理を行える。この関数を使いこなすことで、複雑な計算をスムーズに行えるようになる。

関連記事:ExcelのBYROW関数を使って合計値や平均値をかんたんに算出する方法

構成/編集部

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2026年3月16日(月) 発売

やっぱり野球が好きだ!『MIX』の立花投馬が表紙を飾る最新号のDIMEはプロ野球・高校野球から球場グルメ、あだち充作品の魅力まで野球愛を全方位に深掘り。さらにSuicaの変革や各鉄道の新ビジネスを幅広く取材したシン鉄道ビジネス特集も。

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。