【完全ガイド】Tableauに“ウィンドウ枠の固定”はある?

「表の上部や左端を固定したい」「ヘッダーを常に見せたままスクロールしたい」Excelの[ウィンドウ枠の固定]に慣れていると、Tableauでも同じ操作を探します。結論から言えば、TableauにはExcelと同等の“行・列の固定”ボタンはありません。しかし、ダッシュボードのレイアウト設計とワークアラウンドを組み合わせれば、“固定されているように見える体験”を十分に再現できます。

本記事は、わかりやすさ最優先で、

  • 「Tableauでできること / できないこと」

  • 見出し(ヘッダー)を常に見せるための設計

  • 左端のキー列を擬似的に固定するレシピ

  • **ページネーション(ページ送り)**でスクロール自体をなくす方法

  • スクロールの気持ちよさを左右するサイズ・コンテナ設計の勘所

  • 「WINDOW_関数」と「ウィンドウ枠」の名前の混同を解消する補足

までを、手順付きで整理します。


1. まずは結論:Tableauに“Excelのような固定”はない(が、代替手段はある)

  • **ワークシート(テキスト表やハイライトテーブル)**では、列ヘッダーは常に上部に表示され、縦スクロールしてもヘッダー自体は見失いにくい設計です(視認性は配列・余白・フォント次第)。

  • ダッシュボードでは、1つのシートの内側でスクロールが発生する場合と、ダッシュボード全体がブラウザでスクロールする場合があり、どこをスクロールさせるかを設計できます。

  • “左端のキー列を固定”する標準機能はありません。ただし、2シート分割+ページネーション擬似固定の体験は作れます。

  • **“ヘッダーを常に見せる”**のは、ヘッダー(やタイトル・フィルターバー)をシートの外に置き、下側のシートだけをスクロールさせるレイアウトで実現できます。

要点
Excelの“固定”という機能はないが、設計で同じ体験を作る。


2. 何を“固定”したい?用途別に最短アプローチを選ぶ

  1. 上部の説明・見出し・フィルター群を固定したい
     → 垂直コンテナ上:固定エリア/下:スクロールするシートに分割(手順 §3)。

  2. 左端のキー列(顧客名など)を固定したい
     → 左右にシートを分けて擬似固定ページネーション縦揃え(手順 §4)。

  3. スクロール自体をなくしたい(ヘッダー消失問題の根本対応)
     → ページネーション(INDEX()活用)で1ページN行に分割(手順 §5)。

  4. “ウィンドウ(計算の範囲)”を固定したい
     → それは表計算のWINDOW_関数の話。ウィンドウ枠の固定(Excel)とは別物(解説 §7)。


3. 上部ヘッダーを“固定表示”にするレイアウト(最短ワークフロー)

目的:タイトル、説明、重要指標(KPI)、フィルター群を常に上に見せ、表だけがスクロールするようにしたい。

手順(ダッシュボード)

  1. サイズの方針を決める

    • 固定サイズ(例:1280×900)にすると、ダッシュボード全体のブラウザスクロールを抑え、下段のシート内スクロールに集約しやすい。

    • 範囲/自動でも実装可能だが、端末差でヘッダーが見切れやすい。まずは固定サイズが扱いやすい。

  2. 垂直コンテナを追加(上→下に積む箱)。

  3. 上段(固定ゾーン)にテキスト(タイトル)/イメージ(ロゴ)/KPIシートフィルターを配置。

    • ここはスクロールさせない領域(ダッシュボード上部)。

  4. 下段(可動ゾーン)にテーブルのシートを配置。

    • シートの表示行数がコンテナより多ければ、そのシート内に縦スクロールバーが出る。

    • 結果として、上段は“固定”、下段だけがスクロールする見え方になる。

  5. 余白・パディングを調整して、固定ゾーンが常に1行分見えるよう高さ配分を最適化。

  6. 凡例やアイコン(列の説明・操作ボタン)は上段に置くことで、“ヘッダー固定”の体験を強化。

コツ

  • 表の列数が多い場合は、横スクロールではなく縦の情報設計へ寄せる(列を減らし、詳細はドリルダウンで見せる)。

  • **Fit(フィット)“幅”**優先にし、横スクロールを出さない方が読みやすい。


4. 左端のキー列を“擬似的に固定”する(2シート分割+ページネーション)

目的:Excelのように左列を固定したい。ただしTableauには標準機能がないため、擬似的に再現する。

考え方

  • キー列だけを表示するシートA(例:顧客名)。

  • 明細を表示するシートB(キー列を除く)。

  • そのままだと縦スクロールが別々でズレる。そこでページネーション(次章)を入れ、同じ“ページ”の行だけを両シートに表示すれば、常に行が揃う=見た目は左列固定に近い体験になる。

作り方(概要)

  1. パラメータ

  • [ページサイズ](整数、例:20)

  • [ページ番号](整数、初期値1)

  1. 表示範囲の計算

// ページの先頭・末尾行番号(表計算のINDEXに合わせる)
[Start Row] := ([ページ番号] - 1) * [ページサイズ] + 1
[End Row] := [ページ番号] * [ページサイズ]
// 当該ページに含めるか
[Show This Page] := INDEX() >= [Start Row] AND INDEX() <= [End Row]
  1. シートA(左:キー列)/シートB(右:明細)の両方で、[Show This Page] をフィルター Trueに設定。表計算の方向は、表示しているディメンション(例:顧客)に合わせて**“特定ディメンション”**で固定する。

  2. ダッシュボード水平コンテナを配置し、左にA・右にBを並べる。左右の高さは同一に。

  3. ページ送りUI(後述)を置いて、[ページ番号]を変更できるようにする。

メリット

  • 行が常に同一ページ分だけ表示されるため、上下移動のたびに列がズレない
    注意

  • **リアルタイムな“同時スクロール同期”**はできません。ページ単位での同期という割り切りが現実的です。

  • 列幅の視覚的な一致を保つため、フォント・パディング・ヘッダー折返しを左右シートで合わせます。


5. スクロールをやめる:ページネーション(ページ送り)設計

目的:ヘッダーが見切れる根本原因=長いスクロールをやめる。

実装(詳細)

  1. §4のパラメータ計算式を用意。

  2. ページ数の上限(UIに表示する用):

// 総行数(表計算)
[Total Rows] := SIZE()
// 総ページ数(切り上げ)
[Total Pages] := CEILING( [Total Rows] / [ページサイズ] )
  1. 次へ/前へボタンを作る方法は2つ:

    • パラメータの表示(スピンボックス)で直接手動変更(最も簡単)。

    • パラメータアクション“Prev/Next”の2値を持つ小さなナビゲーションシートを作り、クリックで[ページ番号]を±1する。

  2. ラベルSTR([ページ番号]) + " / " + STR([Total Pages]) を出し、ユーザーに現在位置を明示。

副次効果

  • レンダリング負荷が軽減し、可読性操作性が一気に上がる。

  • モバイル端末でも安定して見やすい。


6. “固定風”の体験を支えるダッシュボード設計のコツ

  1. サイズ

    • 固定サイズ(例:1280×900)を基本に。表示先が多様なら範囲でブレークポイントを定義し、デバイスデザイナーPC/タブレット/モバイル別レイアウトを用意。

  2. コンテナ

    • 垂直コンテナ固定・可動の上下を分ける。

    • 水平コンテナで**左(キー列)・右(明細)**を分ける。

  3. 余白/パディング

    • 固定ゾーンは高さを最小限に、見出しは2行以内

    • 表シートのパディングを詰めると、1ページ当たりの可視行数が増える。

  4. 列数の最適化

    • “全部見える表”ではなく、要約+ドリル列を削る

    • 横スクロールを避け、縦の情報設計へ寄せる。

  5. ハイライト

    • 重要行(例:自分のチーム)に条件色アイコンを付けると、固定がなくても見失いにくい。

  6. 見出しの再設計

    • 長い列名は略称+ツールチップに。

    • 単位や定義は上部固定ゾーン説明テキストで常時表示。


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導入から定着・活用までを一気通貫で支援しています。業種や業務フローに応じた最適なライセンス構成と活用方法をご提案可能です。

▶ 詳細なサービス内容やご相談希望の方は、
こちらの専用ページをご覧ください。

相談は無料です。お気軽にご連絡ください

関連記事

この記事へのコメントはありません。

カテゴリー

アーカイブ