残業を減らす!Officeテクニック
Excelで必要な列のみを取り出してスクロールバー付きのコンパクトな表を作るテク
2025年4月7日 06:55
時間軸で集計するデータは縦方向に長くなりますよね。フィルターを使って絞り込むことが多いと思いますが、繰り返しフィルター操作をするよりも、スクロールして目視したほうが手っ取り早い! という人もいるのではないでしょうか。
ただ、1画面に数十行のデータが表示された状態で、長時間見続けると目が疲れますよね。また、チェックする必要のない列が含まれているとさらに負担が増えます。例えば、以下の表で[販売日][席][販売数]だけ確認したいなら、その他の列は隠したいような状況です。
フィルターと列の非表示で実現できる課題ではありますが、今回はスクロールバー付きで、必要な列のみのコンパクトな表を作るテクニックを紹介します。
コンパクトな表を準備する
コンパクトな表をわかりやすく仕上げるために、任意のセルに列の見出しを用意しておきます。ここでは、元の表から[単価]と[販売金額]を除く、[販売日][席][販売経路][販売数]としました。表の高さは10行とします。
セルL1は、後ほどスクロールバーとリンクさせます。ここでは、「0」と直接入力しておいてください。セルH2に入力するOFFSET関数の引数[行数]として利用します。
OFFSET関数は、指定したセルから行や列をずらして(オフセットして)値を取得する関数です。オフセットする数を2つめの引数[行数]と3つめの引数[列数]に指定します。ここでは、列方向にオフセットする必要はないので「0」とします。
これでコンパクトな表の準備は完了です。続けてスクロールバーを配置しましょう。スクロールバーは[開発]タブから挿入するので、[Excelのオプション]から[開発]タブを表示
しておいてください。
スクロールバーをリンクさせる
上記の手順で、10行分のデータを表示できました。後は、スクロールバーを配置して、OFFSET関数から参照するセルL1の値が切り替わるようにすれば完成です。試しにセルL1の値を変更して、スクロールバーと連動させた時の動作を確認してみましょう。
スクロールバーは[開発]タブの[挿入]ボタンから挿入します。挿入後は[Alt]キーを押しながら、位置やサイズを調整すると、セルに吸着するのできれいに配置できます。
[コントロールの書式設定]に指定する[最大値]には、元の表の行数からスクロールバーを配置する表の行数を引いた数値を指定します。ここでは、元の表が100行、コンパクトな表が10行なので、「90」としています。また、[リンクするセル]は、先ほど数値を変更して試したセルL1を絶対参照で指定します。
ここでは、同じワークシートにある表を参照しましたが、他のワークシートの表を参照するコンパクトな表の作成も可能です。例えば、1枚のワークシートに複数のグラフと表を並べて比較したいときなど、スペースを省略したいときにも使えるテクニックです。