「表の上部や左端を固定したい」「ヘッダーを常に見せたままスクロールしたい」Excelの[ウィンドウ枠の固定]に慣れていると、Tableauでも同じ操作を探します。結論から言えば、TableauにはExcelと同等の“行・列の固定”ボタンはありません。しかし、ダッシュボードのレイアウト設計とワークアラウンドを組み合わせれば、“固定されているように見える体験”を十分に再現できます。
本記事は、わかりやすさ最優先で、
-
「Tableauでできること / できないこと」
-
見出し(ヘッダー)を常に見せるための設計
-
左端のキー列を擬似的に固定するレシピ
-
**ページネーション(ページ送り)**でスクロール自体をなくす方法
-
スクロールの気持ちよさを左右するサイズ・コンテナ設計の勘所
-
「WINDOW_関数」と「ウィンドウ枠」の名前の混同を解消する補足
までを、手順付きで整理します。
1. まずは結論:Tableauに“Excelのような固定”はない(が、代替手段はある)
-
**ワークシート(テキスト表やハイライトテーブル)**では、列ヘッダーは常に上部に表示され、縦スクロールしてもヘッダー自体は見失いにくい設計です(視認性は配列・余白・フォント次第)。
-
ダッシュボードでは、1つのシートの内側でスクロールが発生する場合と、ダッシュボード全体がブラウザでスクロールする場合があり、どこをスクロールさせるかを設計できます。
-
“左端のキー列を固定”する標準機能はありません。ただし、2シート分割+ページネーションで擬似固定の体験は作れます。
-
**“ヘッダーを常に見せる”**のは、ヘッダー(やタイトル・フィルターバー)をシートの外に置き、下側のシートだけをスクロールさせるレイアウトで実現できます。
要点:
Excelの“固定”という機能はないが、設計で同じ体験を作る。
2. 何を“固定”したい?用途別に最短アプローチを選ぶ
-
上部の説明・見出し・フィルター群を固定したい
→ 垂直コンテナで上:固定エリア/下:スクロールするシートに分割(手順 §3)。 -
左端のキー列(顧客名など)を固定したい
→ 左右にシートを分けて擬似固定+ページネーションで縦揃え(手順 §4)。 -
スクロール自体をなくしたい(ヘッダー消失問題の根本対応)
→ ページネーション(INDEX()活用)で1ページN行に分割(手順 §5)。 -
“ウィンドウ(計算の範囲)”を固定したい
→ それは表計算のWINDOW_関数の話。ウィンドウ枠の固定(Excel)とは別物(解説 §7)。
3. 上部ヘッダーを“固定表示”にするレイアウト(最短ワークフロー)
目的:タイトル、説明、重要指標(KPI)、フィルター群を常に上に見せ、表だけがスクロールするようにしたい。
手順(ダッシュボード)
-
サイズの方針を決める
-
固定サイズ(例:1280×900)にすると、ダッシュボード全体のブラウザスクロールを抑え、下段のシート内スクロールに集約しやすい。
-
範囲/自動でも実装可能だが、端末差でヘッダーが見切れやすい。まずは固定サイズが扱いやすい。
-
-
垂直コンテナを追加(上→下に積む箱)。
-
上段(固定ゾーン)にテキスト(タイトル)/イメージ(ロゴ)/KPIシート/フィルターを配置。
-
ここはスクロールさせない領域(ダッシュボード上部)。
-
-
下段(可動ゾーン)にテーブルのシートを配置。
-
シートの表示行数がコンテナより多ければ、そのシート内に縦スクロールバーが出る。
-
結果として、上段は“固定”、下段だけがスクロールする見え方になる。
-
-
余白・パディングを調整して、固定ゾーンが常に1行分見えるよう高さ配分を最適化。
-
凡例やアイコン(列の説明・操作ボタン)は上段に置くことで、“ヘッダー固定”の体験を強化。
コツ:
表の列数が多い場合は、横スクロールではなく縦の情報設計へ寄せる(列を減らし、詳細はドリルダウンで見せる)。
**Fit(フィット)は“幅”**優先にし、横スクロールを出さない方が読みやすい。
4. 左端のキー列を“擬似的に固定”する(2シート分割+ページネーション)
目的:Excelのように左列を固定したい。ただしTableauには標準機能がないため、擬似的に再現する。
考え方
-
左にキー列だけを表示するシートA(例:顧客名)。
-
右に明細を表示するシートB(キー列を除く)。
-
そのままだと縦スクロールが別々でズレる。そこでページネーション(次章)を入れ、同じ“ページ”の行だけを両シートに表示すれば、常に行が揃う=見た目は左列固定に近い体験になる。
作り方(概要)
-
パラメータ
-
[ページサイズ]
(整数、例:20) -
[ページ番号]
(整数、初期値1)
-
表示範囲の計算
// ページの先頭・末尾行番号(表計算のINDEXに合わせる)
[Start Row] := ([ページ番号] - 1) * [ページサイズ] + 1
[End Row] := [ページ番号] * [ページサイズ]
// 当該ページに含めるか[Show This Page] := INDEX() >= [Start Row] AND INDEX() <= [End Row]
-
シートA(左:キー列)/シートB(右:明細)の両方で、
[Show This Page]
をフィルター Trueに設定。表計算の方向は、表示しているディメンション(例:顧客)に合わせて**“特定ディメンション”**で固定する。 -
ダッシュボードに水平コンテナを配置し、左にA・右にBを並べる。左右の高さは同一に。
-
ページ送りUI(後述)を置いて、
[ページ番号]
を変更できるようにする。
メリット:
行が常に同一ページ分だけ表示されるため、上下移動のたびに列がズレない。
注意:**リアルタイムな“同時スクロール同期”**はできません。ページ単位での同期という割り切りが現実的です。
列幅の視覚的な一致を保つため、フォント・パディング・ヘッダー折返しを左右シートで合わせます。
5. スクロールをやめる:ページネーション(ページ送り)設計
目的:ヘッダーが見切れる根本原因=長いスクロールをやめる。
実装(詳細)
-
§4のパラメータと計算式を用意。
-
ページ数の上限(UIに表示する用):
// 総行数(表計算)
[Total Rows] := SIZE()
// 総ページ数(切り上げ)[Total Pages] := CEILING( [Total Rows] / [ページサイズ] )
-
次へ/前へボタンを作る方法は2つ:
-
パラメータの表示(スピンボックス)で直接手動変更(最も簡単)。
-
パラメータアクション:“Prev/Next”の2値を持つ小さなナビゲーションシートを作り、クリックで
[ページ番号]
を±1する。
-
-
ラベルに
STR([ページ番号]) + " / " + STR([Total Pages])
を出し、ユーザーに現在位置を明示。
副次効果:
レンダリング負荷が軽減し、可読性と操作性が一気に上がる。
モバイル端末でも安定して見やすい。
6. “固定風”の体験を支えるダッシュボード設計のコツ
-
サイズ:
-
固定サイズ(例:1280×900)を基本に。表示先が多様なら範囲でブレークポイントを定義し、デバイスデザイナーでPC/タブレット/モバイル別レイアウトを用意。
-
-
コンテナ:
-
垂直コンテナで固定・可動の上下を分ける。
-
水平コンテナで**左(キー列)・右(明細)**を分ける。
-
-
余白/パディング:
-
固定ゾーンは高さを最小限に、見出しは2行以内。
-
表シートのパディングを詰めると、1ページ当たりの可視行数が増える。
-
-
列数の最適化:
-
“全部見える表”ではなく、要約+ドリルで列を削る。
-
横スクロールを避け、縦の情報設計へ寄せる。
-
-
ハイライト:
-
重要行(例:自分のチーム)に条件色やアイコンを付けると、固定がなくても見失いにくい。
-
-
見出しの再設計:
-
長い列名は略称+ツールチップに。
-
単位や定義は上部固定ゾーンに説明テキストで常時表示。
-
7. よくある混同:「WINDOW_****」は“表計算のウィンドウ”、固定とは別
検索するとWINDOW_SUM, WINDOW_AVG, WINDOW_MAXなどが出てきますが、これは表計算の「計算対象範囲(ウィンドウ)」のことです。
-
“ウィンドウ枠の固定(Freeze Panes)”とは無関係。
-
「計算の編集」でアドレッシング/パーティションを設定し、計算の窓を指定します。
-
§4–5のページネーションでは
INDEX()
やSIZE()
などの表計算を使いますが、これは画面の固定ではなく、表示する行の制御です。
8. ケース別ミニレシピ(コピペOK)
8-1. ページング用の基本セット
// パラメータ: [ページサイズ] (整数), [ページ番号] (整数)
// 計算(表計算を使用)
[Start Row] := ([ページ番号] – 1) * [ページサイズ] + 1
[End Row] := [ページ番号] * [ページサイズ]
[Show This Page] := INDEX() >= [Start Row] AND INDEX() <= [End Row]
// 総ページ表示用
[Total Pages] := CEILING( SIZE() / [ページサイズ] )
使い方:[Show This Page]
をフィルター True。計算の方向は、行の並びに用いるディメンションを特定ディメンションに固定。
8-2. 左右分割(擬似固定列)で行を揃える
-
左シート:キー列のみを行棚へ。
[Show This Page]
をフィルター。 -
右シート:キー列以外の項目を並べる。
[Show This Page]
を同様に適用。 -
ダッシュボードで水平コンテナ内に左右を配置。フォント・行高・パディングを揃える。
8-3. 固定ヘッダー+スクロール表
-
垂直コンテナの上段にタイトル/説明/フィルター、下段に表シート。
-
表はFit(幅)に、列数を整理し縦スクロールに集約。
9. よくある落とし穴と対処
症状 | 原因 | 解決 |
---|---|---|
スクロールするとヘッダーが見失われる | ダッシュボード全体がブラウザでスクロール | 固定サイズ+上段固定ゾーン+下段シート内スクロールに設計 |
左右の行がズレる | 左右のシートが別々にスクロール | ページネーションで同じ行範囲のみ表示(スクロールを使わない) |
INDEX()が意図通り動かない | 表計算の方向が不一致 | 計算の編集でアドレッシングを“表示順ディメンション”に固定 |
列幅が合わず“固定列”に見えない | フォント/パディング/折返しが不一致 | 両シートで同じ書式に、必要なら数値の桁・単位も統一 |
横スクロールが出る | 列が多すぎ/Fit設定不適切 | 列を減らしFit(幅)、詳細はドリルへ |
10. モバイルや埋め込みでの注意
-
モバイル:デバイスレイアウトを別作成。縦1カラムで、固定ゾーン→表の順に積むと“固定風”体験を維持しやすい。
-
埋め込み(外部サイト):外側のページにもスクロールがあり得ます。Tableau側は固定ゾーン/表の分割で“見出しは常に上”をキープ。外側のCSSでposition: sticky等を使う設計は、Tableau外の実装責任になります。
11. まとめ:機能でなく“設計”で解決する
-
TableauにExcelの[ウィンドウ枠の固定]はない。
-
代わりに、**固定ゾーン(上段)+スクロール表(下段)のレイアウトで“ヘッダー固定体験”**を作る。
-
左端固定は2シート分割+ページネーションで擬似的に再現。
-
ページネーションは可読性・パフォーマンスの両面で効果が高い。
-
迷ったら、列を減らし、縦に情報を積み、重要要素は上段に置く。それが**“探しやすく迷わない”**ダッシュボードの近道です。
付録:チェックリスト(公開前の最終確認)
-
ダッシュボードのサイズは適切か(固定/範囲/自動)
-
垂直コンテナで固定ゾーンと表を分離したか
-
横スクロールが出ていないか(列の整理、Fit設定)
-
ページネーションで1ページあたりの行数を適正化したか
-
左右分割(擬似固定列)のフォント・行高・余白は一致しているか
-
表計算の方向(INDEX/SIZEのCompute Using)は固定したか
-
凡例・単位・定義は上段に常時表示され、説明不足がないか
📩 専門コンサルタントに相談してみませんか?
Tableauのライセンス選定や運用設計に少しでも不安がある方は、一度プロに相談してみるのがおすすめです。
「どのライセンスを選べばいいか分からない」
「導入したものの活用しきれていない」
「Power BIとの違いを整理したい」
こうしたお悩みに対し、当社ではTableau導入から定着・活用までを一気通貫で支援しています。業種や業務フローに応じた最適なライセンス構成と活用方法をご提案可能です。
▶ 詳細なサービス内容やご相談希望の方は、
こちらの専用ページをご覧ください。
相談は無料です。お気軽にご連絡ください
コメント