« ショパンのピアノ曲演奏の動画 | トップページ | [Excel] 参照先のセルやシートを一括して変更する方法 »

[Excel] シート名をセル参照して、データを取得したい

目的:複数のシートにあるデータ(例:毎月の売上げ)を参照して、1枚のシートに総括したい。

方法:INDIRECT 関数(間接的にセルの値を参照する)を使用する。

例1:シート名をA1に入れ、そのシートのA2セルを参照するには、

=INDIRECT(A1 & "!A2")

例2:シート名が数値+文字(1月,2月,3月など)の場合、数値を(1,2,3など)をA1に入れ、そのシートのA2セルを参照するには、

=INDIRECT(A1 & "月!A2")

例3:上の場合、A1に数値+文字(1月,2月,3月など)を入れれば、例1と同じで、

=INDIRECT(A1 & "!A2")

**********************

追記(12/03/07):複数セルをセル参照して統合した表を作成する場合は、以下の方法が便利。

1)シート名をA列(A2以下)に入力
2)参照セル位置を第1行(B1,C1,・・・)に入れる(例:A1,A10,C1・・・)
3)B2セルに、=INDIRECT($A2 & "!" & B$1)
4)これを全セルにコピー

******************************

備考:INDIRECT(参照先文字列,参照形式)

参照先文字列:間接的に参照するセル番地やセル範囲、範囲名を文字列で指定。

参照形式:参照するセルの形式を指定。通常はA1形式なので、省略。INDIRECT(参照先文字列)で良い。

参考:[Excel] セルにシート名を表示する
http://kenkitagawa.cocolog-nifty.com/blog/2010/04/excel-4779.html

--------------------------------------------------------------

追記(2011/10/18)】シート名にマイナス"-"がある場合

現象:#REF!エラー
原因:文字列として認識されないため?
対策:シート名を引用符「'」で囲む
   シート名をA1に入れ、そのシートのA2セルを参照する場合、
      =INDIRECT("'"&A1&"'!A2")

注)分かち書きして解説すると、
  =INDIRECT(" ' " & A1 & " ' !A2 "
  3つに分かれ、'A1'!A2 
  (A1のシート名が引用符「'」で囲まれている)

----------------------------------------------

重要追記:#REF!エラーが出たら、下記参照。

http://kenkitagawa.cocolog-nifty.com/blog/2012/01/excel-indirect-.html
[Excel] INDIRECT関数が特定のシートを参照できない

|

« ショパンのピアノ曲演奏の動画 | トップページ | [Excel] 参照先のセルやシートを一括して変更する方法 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック


この記事へのトラックバック一覧です: [Excel] シート名をセル参照して、データを取得したい:

« ショパンのピアノ曲演奏の動画 | トップページ | [Excel] 参照先のセルやシートを一括して変更する方法 »