ExcelのCUBERANKEDMEMBER関数、聞き慣れない名前ですよね。「CUBE関数シリーズは難しそう…」と感じる方も多いのではないでしょうか。
でも実は、やっていることはシンプルです。CUBERANKEDMEMBER関数は、データの中から「1番目」「2番目」と順位を指定してメンバーを取り出す関数です。売上ランキングのトップ3を自動で表示したいときなどに活躍しますよ。
この記事では、CUBERANKEDMEMBER関数の基本的な書き方から実践的な活用パターンまで、初めての方にもわかるように解説していきます。
ExcelのCUBERANKEDMEMBER関数とは?
CUBERANKEDMEMBER関数は、ExcelのCUBE関数シリーズのひとつです。CUBESET関数で作成したセット(データの集まり)から、指定した順位のメンバーを取得します。
たとえば「売上の多い順に並べたセット」から「1位の商品名」「2位の商品名」を取り出す、といった使い方ができます。
CUBERANKEDMEMBER関数の読み方
読み方は 「キューブ ランクド メンバー」 です。
「Cube(キューブ)」はデータの立方体、「Ranked(ランクド)」は順位付けされたという意味です。「Member(メンバー)」は要素のことですね。つまり「順位を指定してメンバーを取り出す関数」ということです。
CUBERANKEDMEMBER関数でできること
CUBERANKEDMEMBER関数を使うと、次のようなことができます。
- セット内の1番目・2番目…とランキング順にメンバーを取得する
- 売上トップ3の商品名や地域名を自動表示する
- CUBESET関数と組み合わせて動的なランキング表を作る
CUBERANKEDMEMBER関数を使う前に
CUBE関数シリーズは、Power Pivot(パワーピボット)のデータモデルか、外部のOLAPキューブへの接続が必要です。通常のExcelシートのデータだけでは動作しないので注意してくださいね。
Power Pivotやデータモデルの基本については、CUBEMEMBER関数の記事で詳しく解説しています。
CUBERANKEDMEMBER関数の構文と引数
基本構文
=CUBERANKEDMEMBER(接続, セット式, ランク, [キャプション])
引数は4つあり、最初の3つが必須です。ひとつずつ見ていきましょう。
引数の一覧
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 接続 | 必須 | キューブへの接続名を文字列で指定します |
| セット式 | 必須 | メンバーのセットを指定します |
| ランク | 必須 | 取得するメンバーの順位を整数で指定します |
| キャプション | 省略可 | セルに表示するテキストを指定します |
引数「接続」の詳細
「接続」には、データモデルやOLAPキューブへの接続名を指定します。
Power Pivotのデータモデルを使う場合は、接続名は "ThisWorkbookDataModel" です。この接続名はブック内のデータモデルに対して共通なので、覚えておくと便利ですよ。
引数「セット式」の詳細
「セット式」には、順位付けの対象となるセットを指定します。
指定方法は主に2つあります。
- CUBESET関数のセル参照: CUBESET関数の結果が入ったセルを参照する方法(推奨)
- MDX式の直接入力: MDX(多次元式)のセット式を文字列で直接指定する方法
実務ではCUBESET関数と組み合わせる方法が一般的です。
引数「ランク」の詳細
「ランク」には、セットの中から何番目のメンバーを取得するかを整数で指定します。
1を指定すると、セットの先頭(1番目)のメンバーが返されます2なら2番目、3なら3番目…という具合です
ランキングの並び順は、セット式で指定したセットの順序に従います。降順(大きい順)で取得したい場合は、CUBESET関数の並べ替え引数で並び順を制御してくださいね。
引数「キャプション」の詳細(省略可)
「キャプション」には、セルに表示する代替テキストを指定できます。
省略すると、データモデルから取得したメンバー名がそのまま表示されます。「売上1位」「トップ商品」のようにわかりやすい表示名を付けたいときに便利です。
CUBERANKEDMEMBER関数の使い方(実践例)
基本例:セットの1番目のメンバーを取得する
まず、CUBESET関数でセットを作っておきます。
A1: =CUBESET("ThisWorkbookDataModel","[商品].[カテゴリ].Children")
次に、CUBERANKEDMEMBER関数で1番目のメンバーを取得します。
B1: =CUBERANKEDMEMBER("ThisWorkbookDataModel", A1, 1)
A1セルのCUBESET関数が返すセットの中から、1番目のカテゴリ名が表示されます。
応用例:売上トップ3をランキング表示する
CUBESETで売上順に並べ替えたセットを作り、CUBERANKEDMEMBERで1位から3位まで取得する方法です。
A1: =CUBESET("ThisWorkbookDataModel","[商品].[カテゴリ].Children","売上順セット",1,"[Measures].[売上合計]")
このCUBESET関数では、並べ替え順序に 1(降順)を指定しています。これで売上が多い順にセットが作成されます。
B1: =CUBERANKEDMEMBER("ThisWorkbookDataModel", $A$1, 1, "1位")
B2: =CUBERANKEDMEMBER("ThisWorkbookDataModel", $A$1, 2, "2位")
B3: =CUBERANKEDMEMBER("ThisWorkbookDataModel", $A$1, 3, "3位")
ランク引数を 1, 2, 3 と変えるだけで、トップ3が取得できます。キャプション引数に「1位」「2位」「3位」と設定すれば、セルに順位が表示されるので見やすくなりますよ。
さらに、隣のセルでCUBEVALUE関数を使えば、各メンバーの売上金額も取得できます。
C1: =CUBEVALUE("ThisWorkbookDataModel","[Measures].[売上合計]", B1)
CUBE関数ファミリーとの使い分け
CUBERANKEDMEMBER関数は、CUBE関数シリーズの中で「セットから順位指定で取り出す」役割を担っています。他の関数との関係を整理しておきましょう。
| 関数 | 役割 | CUBERANKEDMEMBERとの関係 |
|---|---|---|
| CUBEMEMBER | 特定のメンバーを取得 | 名前で直接指定する場合はこちらを使用 |
| CUBESET | メンバーのセットを作成 | CUBERANKEDMEMBERの入力として使う |
| CUBEVALUE | 集計値を取得 | ランキング結果と組み合わせて金額等を取得 |
| CUBEMEMBERPROPERTY | メンバーのプロパティを取得 | ランキング結果の属性情報を取得 |
| CUBESETCOUNT | セット内のアイテム数を取得 | ランク引数の上限確認に使える |
ポイントは、CUBERANKEDMEMBERは単独では使わないということです。必ずCUBESET関数でセットを準備してから、順位を指定して取り出す流れになります。
よくあるエラーと対処法
CUBERANKEDMEMBER関数を使っていると、いくつかのエラーに遭遇することがあります。慌てなくて大丈夫ですよ。
#N/Aエラー
最もよく見かけるエラーです。主な原因は次の通りです。
- ランクがセットの範囲外: セットに5つしかメンバーがないのにランクに
6を指定した場合に発生します。CUBESETCOUNT関数でセット内のアイテム数を確認しておくと安心です - セット式が無効: CUBESET関数の参照先が正しくない場合にも発生します
#VALUE!エラー
引数に不正な値が含まれている場合に発生します。
- ランクに整数以外の値(文字列や小数)を指定していないか確認しましょう
- セット式のMDX構文にエラーがないかも確認してみてください
#NAME?エラー
接続名が正しくない場合に発生します。
- Power Pivotデータモデルの場合は
"ThisWorkbookDataModel"と正確に入力されているか確認してください - スペルミスや余分なスペースがないかチェックしましょう
#GETTING_DATA…の表示
これはエラーではありません。データモデルからデータを取得している最中の一時的な表示です。しばらく待つと結果が表示されますよ。
まとめ
ExcelのCUBERANKEDMEMBER関数について解説しました。ポイントを振り返っておきましょう。
- CUBERANKEDMEMBER関数は、セット内のN番目のメンバーを取得する関数
- 基本構文は
=CUBERANKEDMEMBER(接続, セット式, ランク, [キャプション]) - CUBESET関数と組み合わせて使うのが基本パターン
- ランキング表を作る場合は、ランク引数を1, 2, 3…と変えるだけでOK
- Power PivotデータモデルまたはOLAP接続が必要
CUBE関数シリーズは最初はとっつきにくいですが、パターンを覚えてしまえばデータモデルの分析がぐっと効率的になります。まずはCUBEMEMBER関数やCUBESET関数から試してみてくださいね。
対応バージョン: Excel for Microsoft 365 / Excel 2024 / Excel 2021 / Excel 2019 / Excel 2016
