• 締切済み

エクセルで検索範囲をワークシート名にしたい。

ワークシートが「1月」から「12月」まで12枚あります。 それぞれのワークシートの書式は同じです。 別に「合計表」があります。 この合計表のA1のセルに「1月」入力すると 他のセルに「1月」のワークシートのデータ引っ張ってくる。 ということがしたいです。 普通、別のワークシートからデータを持ってくると ='1月'!A2 となると思います。 この’1月’部分を容易に変更することができるようにしたいのです。 いい方法はないでしょうか?

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

INDIRECT関数を使ってそのワークシートを呼び出しあるセル番地のデータを表示されることはできますが、そのワークシートのある範囲を表示させたい場合には単なるINDIRECT関数だけではうまくできません。 次のようにしてはどうでしょう。 例えば1月のシートのA1セルからC5セルまでを表示させる場合です。 合計表のA1セルに1月と入力し、例えばA2セルには次の式を入力し、C2セルまでオートフィルドラッグしたのちに下方にも6行目までオートフィルドラッグします。 =INDEX(INDIRECT("'" & $A$1 & "'!A:D"),ROW(A1),COLUMN(A1)) 勿論1月のシートのA1セルのデータを表示させるのでしたら次の式でもよいことになります。 =INDIRECT("'" & $A$1 & "'!A1")

回答No.3

1行目にシート名が入力されていると、シート名+セル番地の参照文字列は ="'" & A1 & "'!A2" この参照文字列を、参照式として認識させるにはINDIRECT関数を使います。 http://office.microsoft.com/ja-jp/excel/HP052091391041.aspx 以上から、 =INDIRECT("'" & A$1 & "'!A2") となります。 B列、C列・・・に2月、3月・・・とあっても、上記の式のコピーだけで対応できるはずです。

noname#111860
noname#111860
回答No.2

> 他のセルに「1月」のワークシートのデータ引っ張ってくる。 > ということがしたいです。  書式が同じ、もしくは一定のルールに従った書式  ならば、VBAで書いてしまいます。 > この’1月’部分を容易に変更することができるようにしたいのです。  容易の部分をもう少し詳しく説明していただければ、  この質問を見ている他の人にもイメージが就きやすいかと思います。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.1

INDIRECT関数を使います。 =INDIRECT("'"&A1&"'!A2") INDIRECT関数の使い方 http://excel.onushi.com/function/indirect.htm

関連するQ&A

  • エクセルのワークシート間のデータ共有について

    教えてください。エクセルなんですが、ワークシート1のセルA1にデータを入力し、ワークシート2のセルB2にそのデータが出るように、関数を埋め込んでいます。そこまでは良いのですが、そこからワークシート2のセルB2に新しくデータを入力して、ワークシート1のセルA1に反映させることは出来るのでしょうか?分かりづらく申し訳ありませんが、イメージとして現在データ入力をA→Bとなっているところを、A<=>Bにしたいのです。

  • エクセル:複数のワークシート間の総合計

    エクセル:複数のワークシート間の総合計 1~12月分のセルごとに合計を出したいのですが、やり方は‥ 『新しいウィンドウ』からシートを13枚全て配置し、(1~12月+総合計) まず左一番上に入ってるデータのセル1月~12月までを1つずつクリックし、総合計に入れるようにしますか? その後は、その書式をコピペしてOKで合ってますか? 1つずつクリックするのは少し面倒なような気もするのですが、みなさんが どのようにされているのか教えていただけませんか。 どうぞ宜しくお願いします。

  • エクセルで、ワークシート名をセルから参照する

    エクセルで、ワークシート名をセルに表示する方法は書いてありますが、セルの値をワークシート名とするにはどうしたらいいでしょうか。 つまり、 「ワークシート名 → セル」 ではなく、 「セルの値 → ワークシート名」 ということです。 現状、会社が変わると決算期が変わるため、決算期を変更する度にワークシート名を変えていますが、変わった都度ワークシート名を手で変更するのは手間が掛っています。 具体的には、例えば、 3月決算の会社のファイルは、4月シート、5月シート・・・ 12月決算の会社は、1月シート、2月シート・・・ のようにシート名を変えています。 そのため、セルに決算期を入力すると、自動で各ワークシート名も変更するようにしたいのですが、どうしたらいいでしょうか。 そういう関数はないようですし、マクロ・VBAの本等を見ても、よくわかりません。 宜しくお願い致します。

  • EXCELでワークシートを検索して値を返したい。

    こんばんは。 いろいろ調べてみたのですが、わからなかったので質問させていただきます。 EXCELで「111」「222」「333」「444」「555」という五つのワークシート名を持つブックがあります。 「111」のシートのセル"A1"に,"222"と入力すると、隣のセル"A2"にシート「222」の特定のセルの値(例えばC20のセルの値)を返し、セル"A1"に「555」と入力するとセル"A2"にシート「555」の特定のセルの値を返すといったものを作るには、どうしたらいいんでしょうか? できれば関数だけで作りたいのですが、もしむりならマクロではどういうコードになるのでしょうか? よろしくお願いします。

  • エクセルで同じワークシート内でデーターを同期したい

    エクセル初心者です。 エクセル2007で同じワークシート内のデーターを同期させる方法ってあるのでしょうか? C5セルに数字の5を入力するとC10セルとC20セルも自動的に5と表示させ、C10に数字の3を入力するとC5とC20セルに3を表示みたいな感じです。 私の考えでは同期させたいセルに【=】を打ち込み入力するセルを限定させる方法しか思いつきません。 別のワークシートの同期の方法は調べると出てくるのですが、同じワークシート内の方法がヒットしませんでした。 機械部品の在庫管理表を作成したいです。 分かりにくい説明で申し訳ありません。

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

    エクセルについて教えてください。エクセル初心者なので、説明がうまくできないのですが、やりたいことを汲み取っていただけると助かります。 現在複数シートのシートの同一セル上に数字が記入されています。 新たに別シートを作成し、その表に数字が自動入力されるように したいのですが、何か方法はありますでしょうか。 例)(1)シート1~12のA10セルに4月-3月までの支出合計が    記入されている。   (2)別シートに縦罫4月-3月、横罫支出合計とした表を作成。   この表に月ごとの支出合計が自動的に反映されるように   したいのですが、今はセル一つずつに"=シート1のセルA10"を   入力しています。   この方法以外に便利な方法があったら教えてください。   説明下手で申し訳ございませんが、宜しくお願い致します。

  • Excel セル入力データをシート名に反映させるには?

    大変お世話になります。 Excelにて、勤怠表を作成しているのですが、 休日表を作り、そのシート名を「2007年度休日」としています。 そして勤怠表のシート名「山田」(各個人名を入力)の各シートに リンクさせているのですが、シート「2007年度休日」の セルA2 部分に 2007 と入力しているデータを反映させて セルA2を書き換えるごとに シート名も一緒に変更出来ればと思うのですが 出来ますでしょうか? 分かる方、お教えください。宜しくお願い致します。

  • Excelシートが別になったときの合計を関数でだす

    シート1は商品とその単価を入力するデータ表、 シート2はシート1の合計表とします。 たとえばシート1にセルA1に1000円、セルA2に2000と入力したら、 シート2のセルA1に、商品AとBの計3000円が自動で入力されるようにできる関数がありましたら 教えてください。 Excel2019利用です。

  • エクセル:ワークシートを自動で生成&ワークシート名を自動で割り振り

    こんにちは はじめまして エクセルのワークシートを自動で生成するやり方を教えていただけますでしょうか。 やりたいことは以下の通りです。 何件かお店がありまして、毎日の売り上げ報告がファックスで本部に送られてきます。 そのファックスを見ながら、本部ではエクセルに入力し合計と累計を出すようにしています。 今現在は雛形ワークシートを一つ作り、手動でワークシートを30,31日分をコピーし、ブックには「店舗A2006年3月度分.xls」というようなブック名で保存してあります。 うちの会社は10日締めなので、3月で言うと、20060311から20060410(←数字は西暦)までのワークシートを作ります。 ワークシートのイメージとしてはこんな感じです。↓ シート名:店舗A.xls ワークシート名:「雛形」 ---------------------------- 当日の日付 商品A 単価 ○個 小計 商品B 単価 ○個 小計     ・     ・           当日の合計 ---------------------------- そしてこれの「雛形」を、自動で一か月分ワークシートをコピーするようにしたいのです。(今は手動でやってます) VBAの本を読んで、For~Next分を使うと、指定した枚数コピーできることはわかったのですが、ご承知の通り30日の月もあれば31日の月もありまして、これを計算で自動に判断するようにできないでしょうか? 欲を言えば、さらにそのワークシート名も自動で「A店舗20060311」というように日付ごとのワークシート名を入れられるようになると助かります。 もっと欲を言えば、各ワークシートの特定のセルに当日の日付を入れてるのですが(セル番地はどこでもいいです)、そこの日付も、ワークシート名と連動して自動で入れられると助かります。 長文になってしまいましたが、どなたか教えていただけると助かります。 よろしくお願いいたします。

  • EXCELのワークシート名とセルの値の取得に付いて

    EXCEL2000を使用しておりますが、ワークシート名と、そのシート内の複数のセルの値を取得し、別シートにマトリックス表示出来るように 入力フォームを設計したいのですが、固定の名称を予め組み込むのではなくフォーム上で入力したテキストをワークシート名及び、セルの位置として扱えるようにするのには、どのようなマクロを書けばよいでしょうか?例えばシート名A~Fの各シートのA1~F1のセルに10~15の数値が 入っていて、Gのシートでマクロを動かすと、シート名とセルの位置を 入力するフォームが現れ、それぞれ入力すると、指定されたシート名と セルの中の値が、Gシートに、1行ずつ追加されて行く処理をイメージ しています。何卒、宜しくご指導の程、お願いいたします。

専門家に質問してみよう