エクセルで複数シートの値を参照する。INDIRECTとADDRESS関数

毎月決まったシートに同じようなデータを入力し、それを月毎に集計するといったことがある。集計欄をまとめて表示できると、毎月の変化を比較しやすい。ここに取り上げたのはとても、簡単なシートである。各シートには2つのデータしか入っていないが、それは合計欄の数字であったり、あることを示した文字列であったりする。非常に簡単なエクセルのシートとデータを利用して、他のシートを参照するしかたをまとめてみる。

シート2からシート4には次のようにデータが入っている。

 

 

シート2から4に入っているデータをシート1にまとめて表示する。

セルに入力されている関数式は次のようになっている。

B3の値B4の値
sheet2=INDIRECT(ADDRESS(3,2,,,B4))=INDIRECT(ADDRESS(4,2,,,B4))
sheet3=INDIRECT(ADDRESS(3,2,,,B5))=INDIRECT(ADDRESS(4,2,,,B5))
sheet4=INDIRECT(ADDRESS(3,2,,,B6))=INDIRECT(ADDRESS(4,2,,,B6))

 

エクセルで表示されている行だけに番号を打つ

受付名簿などを作成し、最初の欄に人数確認の意味で番号をふりたい。
ただ、数が多くなると、いったん番号を振って、途中から参加する人が出たりすると、番号を書きなおすのは大変面倒な仕事となる。

そんな時にあらかじめ次のような計算式を入れておけば、出席の丸のついた行だけを表示し、それ以外を非表示にしておけば、よい。途中で参加が確認された場合でも、その人の所に丸をつけるなどして表示すれば、カウントは式によって増えることになる。

人数出席A列の関数式
1=SUBTOTAL(103,$B$2:B2)
1=SUBTOTAL(103,$B$2:B3)
2=SUBTOTAL(103,$B$2:B4)
3=SUBTOTAL(103,$B$2:B5)
3=SUBTOTAL(103,$B$2:B6)
4=SUBTOTAL(103,$B$2:B7)