【Excel】見出し列を外部参照にして、複数シートの見出しを共通化・一括変更可能にする:Tech TIPS
支店別の売り上げデータなど、同じ見出しを使って複数のシートを作成することもあるのではないだろうか。このような場合、支店名が変更になると、全てのシートを個別に変更しなくてはならなくなる。実は、セル参照などを使えば、テンプレートとなっているシートのみ変更するだけで、他のシートに自動的に反映させることができる。その方法を紹介しよう。
対象:Excel 2013/2016/2019/2021/365
同じ見出し列を他のシートで使いたい場合の便利な方法
同じ見出し列を他のシートで使う場合、単純にコピーしてしまうと、値が変更になった場合、コピー先のシートでも手動で直さなければならなくなる。そのような場合、テンプレートとなっているシートだけを変更したら、他のシートにも自動的に反映されると便利だ。その方法を紹介しよう。
「Microsoft Excel(エクセル)」で表を作成していると、支店名など別のシートの見出し列や行をそのまま使うことも多いだろう。その際、テンプレートとなっているシートの見出し列などをコピーして、新たに作成したシートに貼り付けているのではないだろうか。
ただ、見出し列などをコピーしてしまうと、項目名が変更された場合に全てのシートを変更しなければならなくなる。項目名が変更される可能性がある場合は、見出し列をコピーせずに参照するようにするとよい。その方法を紹介しよう。
セル参照で別シートのデータを自動反映する
最も簡単なのは、セル参照を使う方法だ。新しいシートで「=Sheet1!A3」(「A3」セルを参照する場合)といった具合に入力し、テンプレートとなるシートの見出し列を参照するようにすればよい。
後は、オートフィル機能で見出し列に対してコピーすれば、テンプレートの見出し列が反映できる。テンプレート側(参照元)の支店名などを変更すれば、新しいシート側(参照先)にもその変更が自動的に反映される。
セル参照で別シートのデータを自動反映する(1)
「Sheet1」がテンプレート用シートで、「Sheet2」がこれから表を作る新しいシートである。まず「Sheet2」の見出し列の先頭セルに、参照先のセル番号を指定する。
ただし、参照元のセルに空白があったときには、参照先のセルに「0」と表示されてしまう点に注意してほしい。参照先に「0」を表示させたくない場合は、IF関数を使い、「=IF(Sheet1!A3="","",Sheet1!A3)」としておけばよい。
こうしておけば、項目数が増えた場合でも自動的に反映することが可能だ。
[リンク貼り付け]で貼り付けてデータを自動反映する
項目数が決まっているのであれば、貼り付け時に[リンク貼り付け]を選択することで、データを自動反映させることが可能だ。
テンプレートとなるシートの見出し列を選択し、[Ctrl]+[C]キーでコピーする。新しいシートの見出し列の先頭セルを右クリックし、[貼り付けオプション]−[リンク貼り付け]を選択する。これで、見出し列が新しいシートに反映されるようになる。
[リンク貼り付け]で貼り付けたセルを見ると分かるが、実態はセル参照を行っている。そのため、参照元のセルに空白があったときには、参照先のセルに「0」と表示されてしまう点に注意してほしい。
また、セルの書式は反映されないので、[リンク貼り付け]で貼り付けた後、再度、右クリックメニューで[貼り付けオプション]−[書式設定]を選択して、セルの書式設定をコピーするとよい。
[名前の定義]でデータを自動反映する
Copyright© Digital Advantage Corp. All Rights Reserved.