こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【エクセル】複数シートの同一セルの内容を別のシートに自動反映させたい

エクセルについて教えてください。エクセル初心者なので、説明がうまくできないのですが、やりたいことを汲み取っていただけると助かります。

現在複数シートのシートの同一セル上に数字が記入されています。
新たに別シートを作成し、その表に数字が自動入力されるように
したいのですが、何か方法はありますでしょうか。
例)(1)シート1~12のA10セルに4月-3月までの支出合計が
   記入されている。
  (2)別シートに縦罫4月-3月、横罫支出合計とした表を作成。
  この表に月ごとの支出合計が自動的に反映されるように
  したいのですが、今はセル一つずつに"=シート1のセルA10"を
  入力しています。
  この方法以外に便利な方法があったら教えてください。

  説明下手で申し訳ございませんが、宜しくお願い致します。

投稿日時 - 2009-12-04 10:58:10

QNo.5496984

すぐに回答ほしいです

質問者が選んだベストアンサー

>>=INDIRECT("支出"&A2&"!A10")
上記の計算式でやってみたのですが、#REF!となってしまいます。

A2セルに「4月」などの月がシート名と同じフォント(数字が半角で月が全角など)で入力されているのでしょうか?

念のため、「=INDIRECT("支出4月!A10")」と数式を使わずに文字列でそのまま参照したときに正しい値が返るか調べてみてください。

投稿日時 - 2009-12-07 22:01:35

お礼

=INDIRECT("支出4月!A10")
でやってみても、#REF!になってしまいました。。。

お恥ずかしいことながら、INDIRECTは少し私には高度すぎるように思います。もっとエクセルを勉強して、出直して参ります。

根気強く教えてくださって、本当にありがとうございました!!

投稿日時 - 2009-12-09 10:55:50

このQ&Aは役に立ちましたか?

9人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.5

訂正です。

シート名が「4月支出」ではなく「支出4月」でしたね。

その場合は以下のような式になります。

=INDIRECT("支出"&A2&"!A10")

投稿日時 - 2009-12-04 19:27:03

お礼

ご回答頂きありがとうございます。
お礼が遅くなり、申し訳ございません。

教えていただいた
>=INDIRECT("支出"&A2&"!A10")
上記の計算式でやってみたのですが、#REF!となってしまいます。

シート名は支出4月、支出5月・・・と続くのですが、
計算式の"支出"の部分は手入力となるのでしょうか。

また、"!A10"の部分の!も手入力する必要がありますか。

宜しくお願い致します。

投稿日時 - 2009-12-07 17:06:05

ANo.4

>シートは全部で12枚です。
各シート名は支出4月、支出5月…としてあります。
一番最後のシートには"累計"としたシートを挿入し、
下記のような表を作成。

   ~支出   ~支出
4月  ***     ***
5月  ***     ***
6月  ***     ***

***にあたる部分の数字は各シート12枚のセルA10に既に記入されているので、***を自動的に入力されるようにしたいです。
--------------------------------------------------------
このように具体的な例を示してご質問されれば一発で的確な回答が得られると思います(4月がA2セルに入力されている場合)


=INDIRECT(A2&"支出!A10")

投稿日時 - 2009-12-04 19:22:35

ANo.3

質問があいまい。
まず各シートのA10にはその月の日々の計数の合計が記入されているのだろう?
>支出合計は
毎月の支出合計だろう。
ーー
そして12枚のシートの例えば(実際は他にも年間合計を出したいセル(項目)があるのだろう)A10セルの合計を13枚目のシートのA10に出したいのでは?
ーー
同様式の12枚のシートを各項目で年間合計したい、と質問にに書けば仕舞いでは?
ーーー
Googleででも「エクセル 3D集計」で照会すること。沢山記事がある。
それだけエクセルでは有名な機能なのだ。
エクセルにはどんな便利な機能があるか(特に名前の付いたもの)日ごろ名前ぐらい勉強しておくこと。
とりあえずメニューにズバリ出てくるもの(例入力規則、統合・・)は是非見ておくと良い。

投稿日時 - 2009-12-04 13:49:58

お礼

ご回答ありがとうございました。
すみません。合計を出したいわけではなかったのです。
質問の仕方が悪く、お手数お掛けいたしました。

投稿日時 - 2009-12-04 15:30:08

ANo.2

ご質問の内容は、同じレイアウトの複数シートの同一セルの値を合計したいということでしょうか?

その場合は、以下のような串刺し集計を利用します。
=SUM(集計したい最初のシート名:最後のシート名!A10)
この場合も後述する作業グループにして数式を入力すると簡単に設定できます。


ご質問の内容が複数のシートの同じセルに同じ値を入力したいということであれば、作業グループの機能を利用します。

入力したいシートの最初のシートを選択し、Shiftキーを押しながら入力したい最後のシートを選択して作業グループの状態にして、数式バーに入力したい値や数式を入れてEnterします(作業グループの解除はシート名を右クリック「作業グループの解除」)

投稿日時 - 2009-12-04 12:07:58

お礼

ご回答ありがとうございます。
すみません。
合計はしなくてもよくて、新たに作成した表に、各シートA10にある値を自動入力できるようにしたかったんですが、質問の仕方が悪く申し訳ございませんでした。

投稿日時 - 2009-12-04 15:26:44

ANo.1

イコール(=)を入力したら、
 参照したいシート → 参照したいセル
の順にマウスカーソルを移動させれば楽ができます
とてもフレキシブルな方法ですので、覚えておくと後々役に立ちますよ


関数でもできます
INDIRECT関数を使うと分かりやすいでしょう
これは関数に渡した文字列を参照先として返してくれる関数です
 =INDIRECT("A"&1+1)
コレは
 =A2
として入力した時と同じになります
 =INDIRECT("シート"& 1 &"!A10")
または
 =INDIRECT("シート"& 1 &"!$A$10")
こんな使い方になります
($マークは絶対参照と言うモノです。Excelのヘルプで詳細を確認してください)

これだけでは便利ではないので、ROW関数を組み合わせましょう
これは関数に渡したセルの行を返してくれる関数です
 =ROW(A1)
なら、1が帰ってきます
…そうです、この関数でシート番号を与えて上げれば楽ができます
 =INDIRECT("シート"& ROW(A1) &"!$A$10")
この関数式を下にコピーすれば、「 A1 」のところが A2・A3… と増えてくれるので楽ができるというものです
(縦に並べるのではなく、横に並べるのであれば ROW関数ではなく COLUMN関数を使いましょう)

これは関数を覚えていないと応用ができませんので、少しずつで良いので覚えるようにしましょう

投稿日時 - 2009-12-04 11:17:30

お礼

INDIRECT関数、何度もトライしてやってみてるのですが、どうしても#REF!となってしまいます。
INDIRECTに関して他のページを参照してみたのですが、うまくいきません。ド素人で本当に申し訳ございません。
再度教えていただきたいのですが、

>INDIRECT("シート"& 1 &"!A10")

この"シート"&1なのですが、例えばシート名が支出4月、支出5月…と
なる場合、
INDIRECT("支出"&4月 &"!A10")ということでしょうか?

現在、シートは全部で12枚です。
各シート名は支出4月、支出5月…としてあります。
一番最後のシートには"累計"としたシートを挿入し、
下記のような表を作成。

   ~支出   ~支出
4月  ***     ***
5月  ***     ***
6月  ***     ***

***にあたる部分の数字は各シート12枚のセルA10に既に記入されているので、***を自動的に入力されるようにしたいです。

ご指導宜しくお願い致します。

投稿日時 - 2009-12-04 15:17:02

あなたにオススメの質問