<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>MDX式 &#8211; biz-tactics</title>
	<atom:link href="https://mashukabu.com/tag/mdx%e5%bc%8f/feed/" rel="self" type="application/rss+xml" />
	<link>https://mashukabu.com</link>
	<description></description>
	<lastBuildDate>Fri, 27 Mar 2026 12:49:06 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://mashukabu.com/wp-content/uploads/2022/04/cropped-site-icon-32x32.png</url>
	<title>MDX式 &#8211; biz-tactics</title>
	<link>https://mashukabu.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>ExcelのCUBESET関数の使い方｜データモデルからセットを取得する</title>
		<link>https://mashukabu.com/excel-function-howto-use-cubeset/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-cubeset/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Mon, 09 Jan 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CUBESET関数]]></category>
		<category><![CDATA[CUBE関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MDX式]]></category>
		<category><![CDATA[Power Pivot]]></category>
		<category><![CDATA[データモデル]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3254</guid>

					<description><![CDATA[ExcelのCUBESET関数の使い方を初心者向けに解説します。Power Pivotのデータモデルからメンバーのセット（集合）を取得する方法を、構文・引数・実用例・エラー対処法まで丁寧に説明。CUBERANKEDMEMBERやCUBESETCOUNTとの組み合わせも紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelのCUBESET関数、聞き慣れない名前ですよね。CUBE関数シリーズの中でも少し上級者向けの関数ですが、使い方を覚えると「複数のメンバーをまとめて扱う」ことができるようになります。</p>



<p class="wp-block-paragraph">たとえば「東京・大阪・名古屋の売上をまとめて集計したい」「売上Top5の商品をリストにしたい」といった場面で活躍します。CUBESET関数でメンバーの集合を作り、他のCUBE関数と組み合わせるのが基本パターンです。</p>



<p class="wp-block-paragraph">この記事では、CUBESET関数の構文から実践的な使い方まで、順を追って解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-1" checked><label class="toc-title" for="toc-checkbox-1">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ExcelのCUBESET関数とは？</a><ol><li><a href="#toc2" tabindex="0">CUBESET関数の読み方</a></li><li><a href="#toc3" tabindex="0">CUBESET関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">使う前に確認！Power Pivotのデータモデル接続</a></li><li><a href="#toc5" tabindex="0">CUBESET関数の書き方（構文と引数）</a><ol><li><a href="#toc6" tabindex="0">引数1 接続</a></li><li><a href="#toc7" tabindex="0">引数2 セット式（MDX式）</a></li><li><a href="#toc8" tabindex="0">引数3 キャプション（省略可）</a></li><li><a href="#toc9" tabindex="0">引数4 並べ替え順序（省略可）</a></li><li><a href="#toc10" tabindex="0">引数5 並べ替えキー（省略可）</a></li></ol></li><li><a href="#toc11" tabindex="0">CUBESET関数の使い方（実用例）</a><ol><li><a href="#toc12" tabindex="0">基本的な使用例</a></li><li><a href="#toc13" tabindex="0">CUBERANKEDMEMBERと組み合わせてリストを作る</a></li><li><a href="#toc14" tabindex="0">特定のメンバーだけを選んでセットを作る</a></li></ol></li><li><a href="#toc15" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc16" tabindex="0">#NAME?エラー</a></li><li><a href="#toc17" tabindex="0">#N/Aエラー</a></li><li><a href="#toc18" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc19" tabindex="0">#GETTING_DATAの表示</a></li></ol></li><li><a href="#toc20" tabindex="0">他のCUBE関数との使い分け</a></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ExcelのCUBESET関数とは？</span></h2>



<p class="wp-block-paragraph">CUBESET関数は、ExcelのCUBE関数シリーズのひとつです。Power Pivot（パワーピボット）のデータモデルやOLAP（オーラップ：多次元分析用のデータベース）キューブから、メンバーのセット（集合）を取得します。</p>



<p class="wp-block-paragraph"><a href="https://mashukabu.com/excel-function-howto-use-cubemember/">CUBEMEMBER関数</a>が「1つのメンバー」を取り出す関数なのに対して、CUBESET関数は「複数のメンバーをまとめたグループ」を作る関数です。</p>



<h3 class="wp-block-heading"><span id="toc2">CUBESET関数の読み方</span></h3>



<p class="wp-block-paragraph">読み方は <strong>「キューブセット」</strong> です。</p>



<ul class="wp-block-list"><li><strong>CUBE</strong> = 立方体（多次元データの構造を指す用語）</li><li><strong>SET</strong> = セット（集合・グループ）</li></ul>



<p class="wp-block-paragraph">「多次元データからメンバーの集合を取り出す関数」という意味ですね。</p>



<h3 class="wp-block-heading"><span id="toc3">CUBESET関数でできること</span></h3>



<p class="wp-block-paragraph">CUBESET関数を使うと、次のようなことができます。</p>



<ul class="wp-block-list"><li>複数のメンバーをひとつの集合にまとめる</li><li>MDX式でフィルタ条件を指定してメンバーを絞り込む</li><li>取得したセットを並べ替える（昇順・降順）</li><li><a href="https://mashukabu.com/excel-function-howto-use-cuberankedmember/">CUBERANKEDMEMBER関数</a>と組み合わせて、セット内のN番目を取り出す</li><li><a href="https://mashukabu.com/excel-function-howto-use-cubesetcount/">CUBESETCOUNT関数</a>と組み合わせて、セット内の件数を数える</li></ul>



<p class="wp-block-paragraph">単体で使うと、セルにはキャプション（表示名）だけが表示されます。CUBESET関数の真価は、他のCUBE関数と組み合わせたときに発揮されますよ。</p>



<h2 class="wp-block-heading"><span id="toc4">使う前に確認！Power Pivotのデータモデル接続</span></h2>



<p class="wp-block-paragraph">CUBESET関数を使うには、Power Pivotのデータモデルが必要です。まだデータモデルを作成していない方は、先に準備しておきましょう。</p>



<p class="wp-block-paragraph">データモデルとは、Excel内部に作られるデータベースのようなものです。CUBE関数はこのデータモデルに対して問い合わせを行います。</p>



<p class="wp-block-paragraph">CUBESET関数の第1引数には接続名を指定しますが、Power Pivotのデータモデルを使う場合は <strong>「ThisWorkbookDataModel」</strong> と書きます。これは「このブックのデータモデル」という意味で、Excelが自動的に付ける固定の名前です。</p>



<p class="wp-block-paragraph">データモデルの作り方や接続名の詳細は、<a href="https://mashukabu.com/excel-function-howto-use-cubemember/">CUBEMEMBER関数の解説記事</a>で紹介しています。まだ馴染みがない方は先にそちらを確認してみてください。</p>



<p class="wp-block-paragraph">なお、Power Pivotが使えるExcelのエディションは以下のとおりです。</p>



<ul class="wp-block-list"><li>Microsoft 365（デスクトップ版すべて）</li><li>Excel 2024 / 2021 / 2019（Professional / Home &#038; Business / Home &#038; Student）</li><li>Excel 2016（Professional / Professional Plus）</li></ul>



<h2 class="wp-block-heading"><span id="toc5">CUBESET関数の書き方（構文と引数）</span></h2>



<p class="wp-block-paragraph">CUBESET関数の構文を見てみましょう。引数は5つありますが、必須は2つだけです。</p>



<pre class="wp-block-code"><code>=CUBESET(接続, セット式, [キャプション], [並べ替え順序], [並べ替えキー])</code></pre>



<p class="wp-block-paragraph">各引数の役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>接続</td><td>必須</td><td>データモデルやキューブの接続名</td></tr><tr><td>セット式</td><td>必須</td><td>取得するセットを定義するMDX式</td></tr><tr><td>キャプション</td><td>省略可</td><td>セルに表示する文字列</td></tr><tr><td>並べ替え順序</td><td>省略可</td><td>セットの並べ替え方法（0〜6の整数）</td></tr><tr><td>並べ替えキー</td><td>省略可</td><td>並べ替えの基準となる値のMDX式</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc6">引数1 接続</span></h3>



<p class="wp-block-paragraph">「接続」には、接続先のデータモデルやキューブの名前を文字列で指定します。</p>



<p class="wp-block-paragraph">Power Pivotのデータモデルを使う場合は次のように書きます。</p>



<pre class="wp-block-code"><code>&quot;ThisWorkbookDataModel&quot;</code></pre>



<p class="wp-block-paragraph">接続名を間違えると <code>#NAME?</code> エラーになるので、コピーして貼り付けるのが確実です。</p>



<h3 class="wp-block-heading"><span id="toc7">引数2 セット式（MDX式）</span></h3>



<p class="wp-block-paragraph">「セット式」には、取得したいメンバーの集合をMDX式（エムディーエックス式：多次元データを問い合わせるための記述方法）で指定します。</p>



<p class="wp-block-paragraph">よく使うパターンを紹介します。</p>



<p class="wp-block-paragraph"><strong>パターン1：特定の階層のすべてのメンバーを取得</strong></p>



<pre class="wp-block-code"><code>&quot;[売上データ].[商品カテゴリ].Children&quot;</code></pre>



<p class="wp-block-paragraph"><code>.Children</code> を付けると、その階層に属するすべてのメンバー（飲料、食品、日用品など）をセットとして取得できます。</p>



<p class="wp-block-paragraph"><strong>パターン2：特定のメンバーを列挙してセットを作る</strong></p>



<pre class="wp-block-code"><code>&quot;{[売上データ].[地域].[東京], [売上データ].[地域].[大阪]}&quot;</code></pre>



<p class="wp-block-paragraph">波括弧 <code>{}</code> の中にメンバーをカンマ区切りで並べると、指定したメンバーだけのセットが作れます。</p>



<p class="wp-block-paragraph"><strong>パターン3：セル参照で動的にセットを作る</strong></p>



<pre class="wp-block-code"><code>=CUBESET(&quot;ThisWorkbookDataModel&quot;, {A1, A2, A3})</code></pre>



<p class="wp-block-paragraph">CUBEMEMBER関数が入ったセルを参照して、動的なセットを作ることもできます。</p>



<h3 class="wp-block-heading"><span id="toc8">引数3 キャプション（省略可）</span></h3>



<p class="wp-block-paragraph">「キャプション」には、セルに表示する文字列を指定できます。</p>



<p class="wp-block-paragraph">CUBESET関数はセット（集合）を返す関数なので、キャプションを省略するとセルには <code>#N/A</code> と表示されることがあります。レポートの見栄えを整えるために、わかりやすいキャプションを付けておくのがおすすめです。</p>



<pre class="wp-block-code"><code>=CUBESET(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[商品カテゴリ].Children&quot;, &quot;全商品カテゴリ&quot;)</code></pre>



<p class="wp-block-paragraph">この場合、セルには「全商品カテゴリ」と表示されます。</p>



<h3 class="wp-block-heading"><span id="toc9">引数4 並べ替え順序（省略可）</span></h3>



<p class="wp-block-paragraph">「並べ替え順序」には、セット内のメンバーをどう並べ替えるかを0〜6の整数で指定します。</p>



<figure class="wp-block-table"><table><thead><tr><th>整数値</th><th>説明</th><th>並べ替えキー</th></tr></thead><tbody><tr><td>0</td><td>既存の順序を維持（既定値）</td><td>不要</td></tr><tr><td>1</td><td>並べ替えキーで昇順</td><td>必須</td></tr><tr><td>2</td><td>並べ替えキーで降順</td><td>必須</td></tr><tr><td>3</td><td>アルファベット昇順</td><td>不要</td></tr><tr><td>4</td><td>アルファベット降順</td><td>不要</td></tr><tr><td>5</td><td>元の昇順</td><td>不要</td></tr><tr><td>6</td><td>元の降順</td><td>不要</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">並べ替え順序を1または2に指定した場合は、次の「並べ替えキー」の指定が必須です。忘れるとエラーになるので注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc10">引数5 並べ替えキー（省略可）</span></h3>



<p class="wp-block-paragraph">「並べ替えキー」には、並べ替えの基準となる値をMDX式で指定します。</p>



<p class="wp-block-paragraph">たとえば「売上金額の合計」で降順に並べ替えたい場合は次のように書きます。</p>



<pre class="wp-block-code"><code>=CUBESET(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[商品カテゴリ].Children&quot;, &quot;売上順&quot;, 2, &quot;[Measures].[売上金額の合計]&quot;)</code></pre>



<p class="wp-block-paragraph">これで商品カテゴリが売上金額の大きい順に並んだセットが作れます。ランキングレポートを作るときに便利ですね。</p>



<h2 class="wp-block-heading"><span id="toc11">CUBESET関数の使い方（実用例）</span></h2>



<p class="wp-block-paragraph">ここからは、実際の使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">基本的な使用例</span></h3>



<p class="wp-block-paragraph">まずはシンプルな例です。「売上データ」テーブルの「地域」列に属するすべてのメンバーのセットを取得します。</p>



<pre class="wp-block-code"><code>=CUBESET(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[地域].Children&quot;, &quot;全地域&quot;)</code></pre>



<p class="wp-block-paragraph">セルには「全地域」と表示されます。このセットには東京、大阪、名古屋などすべての地域メンバーが含まれています。</p>



<p class="wp-block-paragraph">ただし、セルの表示はキャプションだけなので「本当にセットが作れているの？」と不安になりますよね。確認するには、<a href="https://mashukabu.com/excel-function-howto-use-cubesetcount/">CUBESETCOUNT関数</a>を使います。</p>



<pre class="wp-block-code"><code>=CUBESETCOUNT(A1)</code></pre>



<p class="wp-block-paragraph">A1にCUBESET関数が入っていれば、セット内のメンバー数が表示されます。</p>



<h3 class="wp-block-heading"><span id="toc13">CUBERANKEDMEMBERと組み合わせてリストを作る</span></h3>



<p class="wp-block-paragraph">CUBESET関数の最も実用的な使い方は、<a href="https://mashukabu.com/excel-function-howto-use-cuberankedmember/">CUBERANKEDMEMBER関数</a>との組み合わせです。</p>



<p class="wp-block-paragraph">たとえば「売上金額が多い順に商品カテゴリをリスト表示する」場合、次のように書きます。</p>



<p class="wp-block-paragraph"><strong>ステップ1：CUBESET関数でソート済みのセットを作る</strong></p>



<p class="wp-block-paragraph">セルA1に売上順のセットを作成します。</p>



<pre class="wp-block-code"><code>=CUBESET(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[商品カテゴリ].Children&quot;, &quot;売上順カテゴリ&quot;, 2, &quot;[Measures].[売上金額の合計]&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>ステップ2：CUBERANKEDMEMBER関数でN番目を取り出す</strong></p>



<p class="wp-block-paragraph">セルA2〜A4で、1位・2位・3位のメンバーを取り出します。</p>



<pre class="wp-block-code"><code>=CUBERANKEDMEMBER(&quot;ThisWorkbookDataModel&quot;, A1, 1)  → 売上1位の商品カテゴリ
=CUBERANKEDMEMBER(&quot;ThisWorkbookDataModel&quot;, A1, 2)  → 売上2位の商品カテゴリ
=CUBERANKEDMEMBER(&quot;ThisWorkbookDataModel&quot;, A1, 3)  → 売上3位の商品カテゴリ</code></pre>



<p class="wp-block-paragraph"><strong>ステップ3：CUBEVALUE関数で各カテゴリの売上金額を取得する</strong></p>



<p class="wp-block-paragraph">セルB2〜B4で、各メンバーの売上金額を集計します。</p>



<pre class="wp-block-code"><code>=CUBEVALUE(&quot;ThisWorkbookDataModel&quot;, A2, &quot;[Measures].[売上金額の合計]&quot;)</code></pre>



<p class="wp-block-paragraph">この3つの関数を組み合わせるだけで、売上ランキングレポートが完成します。ピボットテーブルを使わなくても、数式だけで動的なランキング表が作れるのがCUBESET関数の強みですよ。</p>



<h3 class="wp-block-heading"><span id="toc14">特定のメンバーだけを選んでセットを作る</span></h3>



<p class="wp-block-paragraph">「全メンバーではなく、特定のメンバーだけをまとめたい」という場面もあります。</p>



<pre class="wp-block-code"><code>=CUBESET(&quot;ThisWorkbookDataModel&quot;, &quot;{[売上データ].[地域].[東京], [売上データ].[地域].[大阪], [売上データ].[地域].[名古屋]}&quot;, &quot;主要3都市&quot;)</code></pre>



<p class="wp-block-paragraph">波括弧 <code>{}</code> の中にメンバーをカンマ区切りで列挙します。この数式で「東京・大阪・名古屋」だけを含むセットが作れます。</p>



<p class="wp-block-paragraph">このセットを<a href="https://mashukabu.com/excel-function-howto-use-cubevalue/">CUBEVALUE関数</a>の引数に渡せば、3都市の合計売上を一発で取得できます。</p>



<pre class="wp-block-code"><code>=CUBEVALUE(&quot;ThisWorkbookDataModel&quot;, A1, &quot;[Measures].[売上金額の合計]&quot;)</code></pre>



<p class="wp-block-paragraph">地域別レポートで「主要都市だけ」を集計したいときにとても便利です。</p>



<h2 class="wp-block-heading"><span id="toc15">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">CUBESET関数で発生しやすいエラーと、その対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc16">#NAME?エラー</span></h3>



<p class="wp-block-paragraph"><code>#NAME?</code> エラーは、接続名が正しく認識されない場合に発生します。</p>



<p class="wp-block-paragraph">主な原因は次のとおりです。</p>



<ul class="wp-block-list"><li>接続名のスペルが間違っている</li><li>接続名をダブルクォーテーションで囲んでいない</li><li>データモデルがブック内に存在しない</li></ul>



<p class="wp-block-paragraph">接続名は「ThisWorkbookDataModel」をそのままコピーして貼り付けるのが確実です。</p>



<h3 class="wp-block-heading"><span id="toc17">#N/Aエラー</span></h3>



<p class="wp-block-paragraph"><code>#N/A</code> エラーは、セット式が無効な場合に発生します。</p>



<p class="wp-block-paragraph">主な原因は次のとおりです。</p>



<ul class="wp-block-list"><li>MDX式のテーブル名・列名のスペルが間違っている</li><li><code>.Children</code> などのMDX関数の書き方が正しくない</li><li>波括弧 <code>{}</code> やカンマの位置がずれている</li></ul>



<p class="wp-block-paragraph">MDX式は角括弧 <code>[]</code> やドット <code>.</code> の抜けが原因になることが多いので、ひとつずつ確認してみてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc18">#VALUE!エラー</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーは、引数の型が正しくない場合に発生します。</p>



<ul class="wp-block-list"><li>並べ替え順序に0〜6以外の数値を指定している</li><li>数式バーの文字数が255文字を超えている</li></ul>



<p class="wp-block-paragraph">255文字制限に引っかかる場合は、セット式を短くするか、セル参照を使って分割しましょう。</p>



<h3 class="wp-block-heading"><span id="toc19">#GETTING_DATAの表示</span></h3>



<p class="wp-block-paragraph"><code>#GETTING_DATA</code> はエラーではありません。データモデルからデータを取得している最中のステータス表示です。</p>



<p class="wp-block-paragraph">通常は数秒で結果に切り替わります。長時間表示が続く場合は、「データ」タブの「すべて更新」を試してみてください。</p>



<h2 class="wp-block-heading"><span id="toc20">他のCUBE関数との使い分け</span></h2>



<p class="wp-block-paragraph">CUBESET関数は、CUBE関数シリーズ7種類のうちのひとつです。それぞれの役割を確認しておきましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>役割</th><th>CUBESETとの関係</th></tr></thead><tbody><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubemember/">CUBEMEMBER</a></td><td>個別メンバーを取得</td><td>CUBESETはメンバーの「集合」版</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubevalue/">CUBEVALUE</a></td><td>集計値を取得</td><td>CUBESETを条件にして複数メンバーの合計を取得</td></tr><tr><td><strong>CUBESET</strong></td><td>メンバーの集合を取得</td><td>本記事で解説</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cuberankedmember/">CUBERANKEDMEMBER</a></td><td>セット内のN番目を取得</td><td>CUBESETで作ったセットから順位指定で取り出す</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubesetcount/">CUBESETCOUNT</a></td><td>セットの要素数を取得</td><td>CUBESETのメンバー数を数える</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubememberproperty/">CUBEMEMBERPROPERTY</a></td><td>メンバーのプロパティを取得</td><td>CUBEMEMBERのプロパティ情報を参照</td></tr><tr><td>CUBEKPIMEMBER</td><td>KPI情報を取得</td><td>目標値やステータスの表示に使用</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">CUBESET関数をよく使う組み合わせパターンは次の3つです。</p>



<ul class="wp-block-list"><li><strong>CUBESET + CUBERANKEDMEMBER</strong>: セット内のN番目のメンバーを取り出す（ランキング表）</li><li><strong>CUBESET + CUBESETCOUNT</strong>: セット内のメンバー数を確認する</li><li><strong>CUBESET + CUBEVALUE</strong>: セット全体の集計値を取得する（複数メンバーの合計）</li></ul>



<p class="wp-block-paragraph">CUBEMEMBERが「1つ」を取り出す関数なら、CUBESETは「グループ」を扱う関数と覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<p class="wp-block-paragraph">CUBESET関数の使い方を振り返っておきましょう。</p>



<ul class="wp-block-list"><li>CUBESET関数はデータモデルからメンバーのセット（集合）を取得する関数</li><li>構文は <code>=CUBESET(接続, セット式, [キャプション], [並べ替え順序], [並べ替えキー])</code> の5引数</li><li>接続名はPower Pivotなら「ThisWorkbookDataModel」を指定</li><li>セット式は <code>.Children</code> や波括弧 <code>{}</code> でメンバーの集合を定義する</li><li>並べ替え順序を1または2にする場合は、並べ替えキーの指定が必須</li><li><a href="https://mashukabu.com/excel-function-howto-use-cuberankedmember/">CUBERANKEDMEMBER関数</a>と組み合わせてランキング表を作るのが実践的な使い方</li><li><code>#NAME?</code> は接続名の誤字、<code>#N/A</code> はMDX式の不備、<code>#VALUE!</code> は引数の型エラーが主な原因</li><li><code>#GETTING_DATA</code> はエラーではなくデータ取得中の表示</li><li>対応バージョン: Excel 365 / Excel 2024 / Excel 2021 / Excel 2019 / Excel 2016</li></ul>



<p class="wp-block-paragraph">CUBE関数シリーズの中でも、CUBESET関数は他の関数と組み合わせて使うことで本領を発揮します。まずは <code>.Children</code> で全メンバーのセットを作り、CUBERANKEDMEMBERで1つずつ取り出すパターンから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-cubeset/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ExcelのCUBEMEMBER関数の使い方｜データモデルのメンバーを取得する</title>
		<link>https://mashukabu.com/excel-function-howto-use-cubemember/</link>
					<comments>https://mashukabu.com/excel-function-howto-use-cubemember/#respond</comments>
		
		<dc:creator><![CDATA[まっしゅ]]></dc:creator>
		<pubDate>Sat, 07 Jan 2023 09:00:00 +0000</pubDate>
				<category><![CDATA[Excel関数]]></category>
		<category><![CDATA[CUBEMEMBER関数]]></category>
		<category><![CDATA[CUBE関数]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[MDX式]]></category>
		<category><![CDATA[Power Pivot]]></category>
		<category><![CDATA[データモデル]]></category>
		<guid isPermaLink="false">https://mashukabu.com/?p=3250</guid>

					<description><![CDATA[ExcelのCUBEMEMBER関数の使い方を初心者向けに解説します。Power Pivotのデータモデルへの接続方法から構文・引数の意味・実用例・よくあるエラーの対処法まで丁寧に説明。CUBE関数シリーズのハブ記事として他の関数との使い分けも紹介します。]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">ExcelのCUBEMEMBER関数、名前だけ見ると「なんだか難しそう…」と思いますよね。実際、CUBE関数シリーズは普段のExcel作業ではあまり見かけない関数です。</p>



<p class="wp-block-paragraph">でも、Power Pivot（パワーピボット）のデータモデルを使い始めると、この関数がとても頼もしい存在になります。CUBEMEMBER関数を使えば、データモデルから特定のメンバーをピンポイントで取り出せるんです。</p>



<p class="wp-block-paragraph">この記事では、CUBEMEMBER関数の基本的な書き方から実践的な使い方まで、初めての方にもわかるように解説していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">CUBEMEMBER関数とは？</a><ol><li><a href="#toc2" tabindex="0">CUBEMEMBER関数の読み方</a></li><li><a href="#toc3" tabindex="0">CUBEMEMBER関数でできること</a></li></ol></li><li><a href="#toc4" tabindex="0">使う前に確認！Power Pivotのデータモデル接続</a><ol><li><a href="#toc5" tabindex="0">データモデルとは？（初心者向け）</a></li><li><a href="#toc6" tabindex="0">接続名「ThisWorkbookDataModel」の意味</a></li></ol></li><li><a href="#toc7" tabindex="0">CUBEMEMBER関数の書き方（構文と引数）</a><ol><li><a href="#toc8" tabindex="0">引数1 接続</a></li><li><a href="#toc9" tabindex="0">引数2 メンバー式（MDX式）</a></li><li><a href="#toc10" tabindex="0">引数3 キャプション（省略可）</a></li></ol></li><li><a href="#toc11" tabindex="0">CUBEMEMBER関数の使い方（実用例）</a><ol><li><a href="#toc12" tabindex="0">基本的な使用例</a></li><li><a href="#toc13" tabindex="0">CUBEVALUE関数と組み合わせて集計する</a></li></ol></li><li><a href="#toc14" tabindex="0">よくあるエラーと対処法</a><ol><li><a href="#toc15" tabindex="0">#NAME?エラー</a></li><li><a href="#toc16" tabindex="0">#N/Aエラー</a></li><li><a href="#toc17" tabindex="0">#VALUE!エラー</a></li><li><a href="#toc18" tabindex="0">#GETTING_DATAが表示されるとき</a></li></ol></li><li><a href="#toc19" tabindex="0">他のCUBE関数との使い分け</a><ol><li><a href="#toc20" tabindex="0">CUBE関数シリーズ7種類の一覧と役割</a></li></ol></li><li><a href="#toc21" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">CUBEMEMBER関数とは？</span></h2>



<p class="wp-block-paragraph">CUBEMEMBER関数は、ExcelのCUBE関数シリーズのひとつです。データモデルやOLAP（オーラップ：多次元分析用のデータベース）キューブから、指定したメンバーを取得します。</p>



<p class="wp-block-paragraph">ここでいう「メンバー」とは、テーブルの特定の列にある値のことです。たとえば「商品カテゴリ」列の「飲料」や、「地域」列の「東京」がメンバーにあたります。</p>



<h3 class="wp-block-heading"><span id="toc2">CUBEMEMBER関数の読み方</span></h3>



<p class="wp-block-paragraph">読み方は <strong>「キューブメンバー」</strong> です。</p>



<ul class="wp-block-list"><li><strong>CUBE</strong> = 立方体（多次元データの構造を指す用語）</li><li><strong>MEMBER</strong> = メンバー（構成要素）</li></ul>



<p class="wp-block-paragraph">つまり「多次元データの構成要素を取り出す関数」という意味ですね。</p>



<h3 class="wp-block-heading"><span id="toc3">CUBEMEMBER関数でできること</span></h3>



<p class="wp-block-paragraph">CUBEMEMBER関数を使うと、次のようなことができます。</p>



<ul class="wp-block-list"><li>データモデルから特定のメンバーを取得する</li><li>取得したメンバーをCUBEVALUE関数の条件として使う</li><li>セルにメンバー名やキャプションを表示する</li><li>動的なレポートの行見出し・列見出しを作る</li></ul>



<p class="wp-block-paragraph">単体で使うよりも、CUBEVALUE関数と組み合わせて使うケースが多い関数です。CUBEMEMBER関数で「何を」を指定し、CUBEVALUE関数で「いくら」を取得する、というイメージで覚えておきましょう。</p>



<h2 class="wp-block-heading"><span id="toc4">使う前に確認！Power Pivotのデータモデル接続</span></h2>



<p class="wp-block-paragraph">CUBEMEMBER関数を使うには、Power Pivotのデータモデルが必要です。いきなり数式を書いても動かないので、まずは前提条件を確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc5">データモデルとは？（初心者向け）</span></h3>



<p class="wp-block-paragraph">データモデルとは、Excel内部に作られるデータベースのようなものです。Power Pivot（パワーピボット）というExcelのアドイン機能で管理します。</p>



<p class="wp-block-paragraph">普通のExcelテーブルとの違いは次のとおりです。</p>



<figure class="wp-block-table"><table><thead><tr><th>項目</th><th>通常のテーブル</th><th>データモデル</th></tr></thead><tbody><tr><td>データの保存場所</td><td>ワークシート上</td><td>Excel内部のデータベース</td></tr><tr><td>複数テーブルの連携</td><td>VLOOKUP等が必要</td><td>リレーションシップで自動連携</td></tr><tr><td>大量データの処理</td><td>行数制限あり（約100万行）</td><td>数百万行でも高速</td></tr><tr><td>CUBE関数の利用</td><td>不可</td><td>可能</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">ピボットテーブルを使ったことがある方は、心当たりがあるかもしれません。ピボットテーブル作成時に「データモデルに追加する」というオプションが表示されることがあります。あのチェックを入れると、データモデルが作成されます。</p>



<h3 class="wp-block-heading"><span id="toc6">接続名「ThisWorkbookDataModel」の意味</span></h3>



<p class="wp-block-paragraph">CUBEMEMBER関数の第1引数には「接続名」を指定します。Power Pivotのデータモデルを使う場合、接続名は <strong>「ThisWorkbookDataModel」</strong> です。</p>



<p class="wp-block-paragraph">これは「このブックのデータモデル」という意味で、Excelが自動的に付ける名前です。自分で変更する必要はありません。</p>



<pre class="wp-block-code"><code>=CUBEMEMBER(&quot;ThisWorkbookDataModel&quot;, ...)</code></pre>



<p class="wp-block-paragraph">この接続名はほぼ固定なので、そのまま覚えてしまってOKです。</p>



<p class="wp-block-paragraph">なお、Power Pivotが使えるExcelのエディションは以下のとおりです。</p>



<ul class="wp-block-list"><li>Microsoft 365（デスクトップ版すべて）</li><li>Excel 2021 / 2019（Professional / Home &#038; Business / Home &#038; Student）</li><li>Excel 2016（Professional / Professional Plus）</li></ul>



<p class="wp-block-paragraph">Excel Onlineや一部のエディションでは使えないので注意してください。</p>



<h2 class="wp-block-heading"><span id="toc7">CUBEMEMBER関数の書き方（構文と引数）</span></h2>



<p class="wp-block-paragraph">CUBEMEMBER関数の構文はシンプルです。引数は3つで、必須は2つだけです。</p>



<pre class="wp-block-code"><code>=CUBEMEMBER(接続, メンバー式, [キャプション])</code></pre>



<p class="wp-block-paragraph">各引数の役割を表で確認しましょう。</p>



<figure class="wp-block-table"><table><thead><tr><th>引数</th><th>必須/省略可</th><th>説明</th></tr></thead><tbody><tr><td>接続</td><td>必須</td><td>データモデルやキューブの接続名</td></tr><tr><td>メンバー式</td><td>必須</td><td>取得するメンバーを指定するMDX式</td></tr><tr><td>キャプション</td><td>省略可</td><td>セルに表示する文字列を指定</td></tr></tbody></table></figure>



<h3 class="wp-block-heading"><span id="toc8">引数1 接続</span></h3>



<p class="wp-block-paragraph">「接続」には、接続先のデータモデルやキューブの名前を文字列で指定します。</p>



<p class="wp-block-paragraph">Power Pivotのデータモデルを使う場合は、ほとんどのケースで次のように書きます。</p>



<pre class="wp-block-code"><code>&quot;ThisWorkbookDataModel&quot;</code></pre>



<p class="wp-block-paragraph">接続名を間違えると <code>#NAME?</code> エラーになるので、スペルミスに気をつけてくださいね。</p>



<h3 class="wp-block-heading"><span id="toc9">引数2 メンバー式（MDX式）</span></h3>



<p class="wp-block-paragraph">「メンバー式」には、取得したいメンバーをMDX式（エムディーエックス式：多次元データを問い合わせるための記述方法）で指定します。</p>



<p class="wp-block-paragraph">Power Pivotのデータモデルでは、次の形式が基本です。</p>



<pre class="wp-block-code"><code>&quot;[テーブル名].[列名].[値]&quot;</code></pre>



<p class="wp-block-paragraph">たとえば「売上データ」テーブルの「商品カテゴリ」列から「飲料」を取得する場合はこうなります。</p>



<pre class="wp-block-code"><code>&quot;[売上データ].[商品カテゴリ].[飲料]&quot;</code></pre>



<p class="wp-block-paragraph">ちょっと独特な書き方に見えますが、パターンは決まっています。角括弧 <code>[]</code> でテーブル名・列名・値をそれぞれ囲んで、ドット <code>.</code> でつなぐだけです。</p>



<p class="wp-block-paragraph">MDX式を書くときの注意点がひとつあります。数式バーに入力できる文字数は <strong>255文字まで</strong> です。これを超えると <code>#VALUE!</code> エラーになります。長いMDX式を使いたい場合は、セル参照を活用して分割するのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc10">引数3 キャプション（省略可）</span></h3>



<p class="wp-block-paragraph">「キャプション」には、メンバーが見つかったときにセルに表示する文字列を指定できます。</p>



<p class="wp-block-paragraph">省略した場合は、メンバー名がそのまま表示されます。たとえば先ほどの例では「飲料」と表示されます。</p>



<p class="wp-block-paragraph">キャプションを指定すると、表示名を自由に変えられます。</p>



<pre class="wp-block-code"><code>=CUBEMEMBER(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[商品カテゴリ].[飲料]&quot;, &quot;飲料カテゴリ&quot;)</code></pre>



<p class="wp-block-paragraph">この場合、セルには「飲料カテゴリ」と表示されます。レポートの見出しをわかりやすくしたいときに便利ですね。</p>



<h2 class="wp-block-heading"><span id="toc11">CUBEMEMBER関数の使い方（実用例）</span></h2>



<p class="wp-block-paragraph">ここからは、実際の使い方を見ていきましょう。</p>



<h3 class="wp-block-heading"><span id="toc12">基本的な使用例</span></h3>



<p class="wp-block-paragraph">まずは一番シンプルな使い方です。データモデルの「売上データ」テーブルから「地域」列の「東京」を取得してみます。</p>



<pre class="wp-block-code"><code>=CUBEMEMBER(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[地域].[東京]&quot;)</code></pre>



<p class="wp-block-paragraph">数式を入力すると、セルに「東京」と表示されます。</p>



<p class="wp-block-paragraph">「セルに東京と表示されるだけ？ それなら直接入力すればいいのでは？」と思いますよね。たしかに、CUBEMEMBER関数を単体で使うメリットはあまりありません。</p>



<p class="wp-block-paragraph">この関数の真価は、次に紹介するCUBEVALUE関数との組み合わせで発揮されます。</p>



<h3 class="wp-block-heading"><span id="toc13">CUBEVALUE関数と組み合わせて集計する</span></h3>



<p class="wp-block-paragraph">CUBEMEMBER関数の最も実用的な使い方は、<a href="https://mashukabu.com/excel-function-howto-use-cubevalue/">CUBEVALUE関数</a>と組み合わせるパターンです。</p>



<p class="wp-block-paragraph">たとえば「東京の売上合計」を取得したい場合、次のように書きます。</p>



<p class="wp-block-paragraph"><strong>ステップ1：CUBEMEMBER関数で条件（メンバー）を取得する</strong></p>



<p class="wp-block-paragraph">セルA1に地域のメンバーを取得します。</p>



<pre class="wp-block-code"><code>=CUBEMEMBER(&quot;ThisWorkbookDataModel&quot;, &quot;[売上データ].[地域].[東京]&quot;)</code></pre>



<p class="wp-block-paragraph"><strong>ステップ2：CUBEVALUE関数で集計値を取得する</strong></p>



<p class="wp-block-paragraph">セルB1で、A1のメンバーを条件にして売上金額を集計します。</p>



<pre class="wp-block-code"><code>=CUBEVALUE(&quot;ThisWorkbookDataModel&quot;, A1, &quot;[Measures].[売上金額の合計]&quot;)</code></pre>



<p class="wp-block-paragraph">ここがポイントです。CUBEVALUE関数のメンバー式引数にCUBEMEMBER関数のセル（A1）を指定しています。このとき、セルに表示されている「東京」というテキストではなく、内部的にMDX式が渡されます。</p>



<p class="wp-block-paragraph">この仕組みのおかげで、CUBEMEMBER関数の値を変えるだけで集計対象を切り替えられます。行見出しにCUBEMEMBER関数、集計セルにCUBEVALUE関数を配置する。そうすれば、ピボットテーブルのような動的レポートを数式だけで作れるんです。</p>



<h2 class="wp-block-heading"><span id="toc14">よくあるエラーと対処法</span></h2>



<p class="wp-block-paragraph">CUBEMEMBER関数で発生しやすいエラーと、その対処法をまとめました。</p>



<h3 class="wp-block-heading"><span id="toc15">#NAME?エラー</span></h3>



<p class="wp-block-paragraph"><code>#NAME?</code> エラーは、接続名が正しく認識されない場合に発生します。</p>



<p class="wp-block-paragraph">主な原因は次のとおりです。</p>



<ul class="wp-block-list"><li>接続名のスペルが間違っている（例：「ThisWorkbookDataModel」の誤字）</li><li>接続名の文字列をダブルクォーテーションで囲んでいない</li><li>データモデルがブック内に存在しない</li></ul>



<p class="wp-block-paragraph">接続名は <strong>「ThisWorkbookDataModel」</strong> を正確にコピーして貼り付けるのがおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc16">#N/Aエラー</span></h3>



<p class="wp-block-paragraph"><code>#N/A</code> エラーは、指定したメンバーが見つからない場合に発生します。</p>



<p class="wp-block-paragraph">主な原因は次のとおりです。</p>



<ul class="wp-block-list"><li>MDX式のテーブル名・列名・値のスペルが間違っている</li><li>指定したメンバーがデータモデルに存在しない</li><li>MDX式の構文が正しくない（角括弧やドットの抜け）</li></ul>



<p class="wp-block-paragraph">対処法としては、まずMDX式の各部分を確認してみてください。テーブル名や列名は、Power Pivotウィンドウで確認できます。大文字・小文字の違いやスペースの有無にも注意しましょう。</p>



<h3 class="wp-block-heading"><span id="toc17">#VALUE!エラー</span></h3>



<p class="wp-block-paragraph"><code>#VALUE!</code> エラーは、次のような場合に発生します。</p>



<ul class="wp-block-list"><li>メンバー式が無効な要素を含んでいる</li><li>数式バーの文字数が255文字を超えている</li></ul>



<p class="wp-block-paragraph">特に255文字制限は見落としやすいポイントです。長いMDX式を使う場合は、CUBEMEMBER関数を複数のセルに分けて記述し、セル参照で組み合わせる方法がおすすめです。</p>



<h3 class="wp-block-heading"><span id="toc18">#GETTING_DATAが表示されるとき</span></h3>



<p class="wp-block-paragraph"><code>#GETTING_DATA</code> が表示されると「エラーかな？」と焦りますが、これはエラーではありません。データモデルからデータを取得している最中のステータス表示です。</p>



<p class="wp-block-paragraph">通常は数秒で結果が表示されます。もし長時間表示されたままの場合は、次の対処を試してみてください。</p>



<ul class="wp-block-list"><li>ブックを保存してから再度開く</li><li>データモデルの接続を更新する（「データ」タブ →「すべて更新」）</li><li>データモデルのサイズが大きすぎないか確認する</li></ul>



<h2 class="wp-block-heading"><span id="toc19">他のCUBE関数との使い分け</span></h2>



<p class="wp-block-paragraph">CUBEMEMBER関数は、CUBE関数シリーズ7種類のうちのひとつです。それぞれ役割が異なるので、一覧で確認しておきましょう。</p>



<h3 class="wp-block-heading"><span id="toc20">CUBE関数シリーズ7種類の一覧と役割</span></h3>



<figure class="wp-block-table"><table><thead><tr><th>関数名</th><th>役割</th><th>用途の例</th></tr></thead><tbody><tr><td><strong>CUBEMEMBER</strong></td><td>メンバーを取得</td><td>レポートの行見出し・列見出し</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubevalue/">CUBEVALUE</a></td><td>集計値を取得</td><td>売上合計・平均値の表示</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubeset/">CUBESET</a></td><td>メンバーの集合を取得</td><td>複数条件のフィルタ</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cuberankedmember/">CUBERANKEDMEMBER</a></td><td>順位指定でメンバーを取得</td><td>売上Top3の商品名</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubesetcount/">CUBESETCOUNT</a></td><td>集合の要素数を取得</td><td>条件に合う商品の件数</td></tr><tr><td><a href="https://mashukabu.com/excel-function-howto-use-cubememberproperty/">CUBEMEMBERPROPERTY</a></td><td>メンバーのプロパティを取得</td><td>メンバーの属性情報</td></tr><tr><td>CUBEKPIMEMBER</td><td>KPI情報を取得</td><td>目標値・ステータス</td></tr></tbody></table></figure>



<p class="wp-block-paragraph">CUBEMEMBER関数は「個別のメンバーを取り出す」関数です。複数のメンバーをまとめて扱いたい場合は<a href="https://mashukabu.com/excel-function-howto-use-cubeset/">CUBESET関数</a>、集合の中から順位で取り出したい場合は<a href="https://mashukabu.com/excel-function-howto-use-cuberankedmember/">CUBERANKEDMEMBER関数</a>を使います。</p>



<p class="wp-block-paragraph">よくある組み合わせパターンとしては、次の2つを覚えておくと便利です。</p>



<ul class="wp-block-list"><li><strong>CUBEMEMBER + CUBEVALUE</strong>: 特定メンバーの集計値を取得（最も基本的な組み合わせ）</li><li><strong>CUBESET + CUBESETCOUNT</strong>: メンバーの集合を作って件数を確認</li></ul>



<h2 class="wp-block-heading"><span id="toc21">まとめ</span></h2>



<p class="wp-block-paragraph">CUBEMEMBER関数の使い方を振り返っておきましょう。</p>



<ul class="wp-block-list"><li>CUBEMEMBER関数はデータモデルから特定のメンバーを取得する関数</li><li>構文は <code>=CUBEMEMBER(接続, メンバー式, [キャプション])</code> の3引数</li><li>接続名はPower Pivotなら「ThisWorkbookDataModel」を指定</li><li>MDX式は <code>[テーブル名].[列名].[値]</code> の形式で書く</li><li>単体よりも<a href="https://mashukabu.com/excel-function-howto-use-cubevalue/">CUBEVALUE関数</a>と組み合わせて使うのが実践的</li><li><code>#NAME?</code> は接続名の誤字やデータモデル未設定が原因</li><li><code>#N/A</code> はメンバー不在、<code>#VALUE!</code> は式の不備や255文字超過が主な原因</li><li><code>#GETTING_DATA</code> はエラーではなくデータ取得中の表示</li><li>対応バージョン: Excel 365 / Excel 2024 / Excel 2021 / Excel 2019 / Excel 2016（Mac版含む）</li></ul>



<p class="wp-block-paragraph">CUBE関数シリーズは最初はとっつきにくく感じるかもしれません。でも、Power Pivotのデータモデルと組み合わせれば、ピボットテーブルでは実現しにくい柔軟なレポートが作れます。まずはCUBEMEMBER関数とCUBEVALUE関数の基本パターンから試してみてください。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mashukabu.com/excel-function-howto-use-cubemember/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
