オプションボタンを数式と連動させながら、さらにLET関数でSUBTOTAL関数とCHOOSE関数をまとめる

LET関数を使い、オプションボタンでSUBTOTAL関数を切り替える数式 10回
今回のサンプルではオプションボタンを使っていますが、このオプションボタンを数式と連動させるためにオプションボタンをグループ化しています。
そして選択したオプションボタンのナンバーが表示されるようにしてあります。
グループ化してセルと関連付けるという方法は以下のページで紹介しています
オプションボタンをグループ化し連動させる オプションボタンを数式で連動
オプションボタンをクリックすることで合計と最小最大平均を自由に選択できます。 数式はそれに連動するようにして、LET関数を使って作成しましょう。合計をチェックすると選択は市最小を選択すると選択は2と表示されます。

オプションボタンを利用して数式を切り替えるために使う関数は、SUBTOTAL関数です。
SUBTOTAL関数(サブトータル関数)はたくさんの集計機能を持っています。
どの機能を使うかは数字で指定することができます。

SUBTOTAL関数の構文
SUBTOTAL(集計方法, 参照1, 参照2, ...)
引数の集計方法と機能は下記の表になります。
| 集計方法 | 集計機能 | 同等の関数 |
|---|---|---|
| 1または101 | 平均値を求める | AVERAGE |
| 2または102 | 数値の個数を求める | COUNT |
| 3または103 | データの個数を求める | COUNTA |
| 4または104 | 最大値を求める | MAX |
| 5または105 | 最小値を求める | MIN |
| 6または106 | 積を求める | PRODUCT |
| 7または107 | 不偏標準偏差を求める | STDEV.S |
| 8または108 | 標本標準偏差を求める | STDEV.P |
| 9または109 | 合計値を求める | SUM |
| 10または110 | 不偏分散を求める | VAR.S |
| 11または111 | 標本分散を求める | VAR.P |
まず、合計なら集計方法は、9です。最小は5,最大は4,平均は1を数値で指定します。

合計を出す場合は、9と入力、範囲は対象となるD6:D22を指定します。=SUBTOTAL(9,D6:D22)

これで合計の回数を取得できますが、1つの式で4通りに切り替えたいのです。 そこでSUBTOTAL関数の集計方法を切り替えるために、CHOOSE関数を使います。

以前のLET関数を使わない場合の方法です。
こちらは、関数の意味とLET関数でどの数式をまとめるのかという理解につながるので、確認しておきましょう。
CHOOSE関数の構文
CHOOSE(インデックス, 値1, 値2, ...)
引数インデックスの後に続く、引数値1,値2,値3,...に対応する何番目の値を選ぶのかを指定してやるという関数です。

CHOOSE関数の数式はどこに入力しても良いのですが、見えない位置か、もしくはフォントの色を白に設定しておくと良いでしょう。

SUBTOTAL関数の引数、集計方法に、このサンプルではF4セルを指定してやることにします。

オプションボタンで集計方法を変更すると、表示される値が変わります。

SUBTOTAL関数の数式とCHOOSE関数の数式2つがシートに入力されています。これを1つの数式にまとめましょう。

=LET(名前1,式1,名前2,式2,...,計算)
何度も出てくる、値や式に名前をつけます。まず、範囲D6:D22にrngと名前をつけ、D6:D22を指定してやります。
続いて、オプションボタンで選択した値の入ったセルは、select と名前をつけ、H2セルを指定します。

CHOOSE関数の数式で得た集計方法の番号をagreeとしました。agreeは数式 CHOOSE(select,9,5,4,1) を指定します。
最後に式、SUBTOTALagree,rng)

2つの数式をすっきりとまとめることができました。

長い数式になるので、 Alt + Enter で改行すると、見やすくなり、内容の理解も容易です。
