• ベストアンサー

シート名をセルの値からもってくるには・・・

エクセルXPを使用しています。 よろしくお願いいたします。 シート名及びセル番地を指定する場合、シート名の部分に引数(別途作成したシート名の一覧表からの値・・)を入れる方法をご教授願えませんでしょうか? 質問の内容がわかりづらいかもしれませんが・・・

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

例えば ●Sheet1のB1にABCと入っているとします。 Sheet2のC1にsheet1!B1と文字列をいれます。 Sheet2のC3に=INDIRECT(C1)を入れると Sheet2のC3はABCになります。 ●Sheet3のB1にXYZと入っているとします。 Sheet名の部分だけを相対化したければ Sheet2のC1にsheet3といれ Sheet2のC3に=INDIRECT(c1&"!b1") と入れるとSheet3のB1の値XYZを持ってきます。 maruru01さんの既回答と「’」の有り無しが違いますが、深い意味があるのかも知れませんが、無しでも出来るようです。

meririn
質問者

お礼

ありがとうございます。お答えいただいた式の中のC1の部分に入れ子みたいな形で、シート名一覧のある別なシート名とセル番地を入れましたら、やりたい事が可能となりました。皆様のご回答のお陰で使うべき関数が判明しとても助かりました。

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

>セルの値を新規シートのセルにコピーしようとしているのですが、 コピーですか? ということはVBAでの処理なんですか? 通常の関数ではコピーは当然出来ませんが。 ちなみに、どこかに、 =INDIRECT("'" & Sheet2!A1 & "'!A1") としたら、[花子]というシートのA1の値が表示されますか?

meririn
質問者

補足

ありがとうございます。 下記のようにした所、シート2にあるセルA2の値をシート名として、そのシートにあるA1の値を持ってくる事が出来、それをずらずらと下へドラッグして楽をする事が出来ました。 ヒントを頂いてありがとうございました。 =INDIRECT(Sheet2!A2&"!A1")

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 INDIRECT関数だと思います。 例えば、A1にシート名(「Sheet1」など)、B1にセル番地(「E10」など)を入力する場合、 =INDIRECT("'" & A1 & "'!" & B1) とすると、実際にSheet1のE10を参照します。

meririn
質問者

補足

ありがとうございます。早速やってみたのですが、 やりかたを間違えているのか、うまくいきません。 何回か、試してみますが、まずは、お礼申し上げます。 たとえばsheet2のセルA1の値(例:花子)を参照先シート名として、その参照先のシートの特定のセルの値を新規シートのセルにコピーしようとしているのですが、多分なにか違うのでしょうか・・・ もう少しお付き合いくださいませ。

関連するQ&A

  • Excelで参照するシート名を計算で求めることは可能ですか?

    前置き 本当は邪道だと思うのですが・・・・。 Excelでとある見積書を部品ごとにシートを分けて作成しており、 そのシートは80シートにも及びます。 この見積書の合計部分のみを集めた、統括表の様なシートを別途作成 してその表に80シートの合計部分のみを自動参照(リンク)させて計算 したいのですが、計算式をコピーしてもセル参照は変わってもシート名だけは 変わってくれず、ひとつひとつシート名を手修正している次第です。 ファイルはたくさんあるのでこのままでは、日が暮れてしまいそうで 困り果てております。 シート名の部分をこのセルの値を参照するというように計算で求めることは 可能でしょうか?教えてください。

  • Excel:数式のブック名部分を関数にしたい

    今エクセル作業ですごく悩んでいることがあります。 色々調べたのですが、エラーになってしまうので、関数等に詳しい方に質問があります。 作業中のエクセル画面を簡単に再現した画像を添付するので、それを参照していただきたいのですが、 Dドライブの「資料フォルダ」に  2009.11東京一覧表 2009.11神奈川一覧表  2009.10東京一覧表 2009.10神奈川一覧表  2009.9東京一覧表 2009.9神奈川一覧表 などというエクセルファイルが沢山あるとします。 (ファイル名にピリオドを入れない方がいいのは存じていますので今回は気にしないでください) そして、現在作成中のエクセルの、B3にフォルダ内のエクセルブック名の年月の部分、C3に店舗名部分を入れると、C6にそのブック名の一覧表の「名簿」シートのB8セルの値が表示されるようになる、関数をお伺いしたいのです。 例えば、B3に「2009.11」C3に「東京」と入れると、C6に「2009.11東京一覧表」ブックの「名簿」シートのB8セルの値が出る・・・という感じです。 分からないながらに、自分でブック名の中に関数(セル番地?)を入れて   ='D:\資料フォルダ\[B3&C3&"一覧表.xls"]名簿'!$B$8 などと入力してみたのですが、[ ]の部分に関数(セル番地?)を入れると、エラーになってしまいました。 色々調べてINDIRECT関数というものを使ってみたりしたのですが、全くうまくいきません。 どうすれば希望通りに値が出るようになるか、お分かりの方は知恵をお貸しください。 どうかよろしくお願いします。

  • 3D集計による最大値とシート名の表示方法

    エクセル2002の複数のシートに同じレイアウトの表が作成してあります。 (各シートには名前がつけてあります。) 同じセル番地の最大値の値と最大値のあるシート名を表示したいと思います。 値の方は3D集計をMAX関数を使って行なえば求められるのですが、 最大値が位置するシート名を表示する方法がわかりません。 そのようなことはできるのでしょうか?どなたかおわかりの方 よろしくお願いします。

  • EXCEL VBAで複数シート内のセルをまとめて表を作成

    EXCELマクロ(VBA)を教えてください。 なやんでいることは、 目的:シート1からシート5までの表の値をシート6に一覧表を作成させる。 ・シート1からシート5まで シート内の表からセル値をコピーしてマクロで(ボタンか何かで)シート6にシート1からシート5のセル値を貼り付けていくような動作をさせられるようなプログラムをつくりたいです。    表(一覧)を作成させたいので わかる方プログラミングを教えてください。よろしくお願いします。

  • EXCELでシート名をセルの内容で指定出来るか

    検索してみましたが、探し方が悪いのか該当する質問がないようなので、質問させていただきます。 EXCELで複数のシートにあるデータを使用して集計表を作成するときの質問です。 使用する人がEXCELに慣れていない方のため、汎用性を持たせたいのですが、以下のような方法は出来るのでしょうか。 集計元シート(複数)> '1','2','3'…のように連番のシート名 集計先シート>'集計' 1.'集計'シートのセル A列 にシート名を入力します。 2.'集計'シートのセル B列 にそれぞれのシートの合計部分のセルNo(Ex.B11)を指定します こうしたとき、2.のB列 は [ B1 = '1'!B11 ]のようになりますが、この '1' の部分で '集計'シートの A1 の値を反映したいのです。 こうすると、シートが増えたとしても、上の式をコピーすれば(ドラッグでのコピー)式のシート名を変更する必要がないと思うのですが…。 ですが、思いつく方法を試してみてもどうもうまくはいきません。 本当にこういった方法は出来るのか、出来るのならその方法をご教授いただければありがたいです。 説明ベタで申し訳ありません。 これが出来るといろいろなものがうまくいくので、ぜひよろしくお願い致します。 (VBAはなるべく使わない方向でお願いします)

  • Excel VBAでシート間でセルの値がコピペできない

    今日は、Excel VBAでシート間でセルの値を単純に飛ばすだけなのですが何故か隣のセルではうまくいくのにあるセル だけには、どうしてもその値が入っていきません。 勿論セル番地は間違っていません。 何か原因があるのでしょうか。 皆さん、同じような経験をされた方原因を教えて下さい

  • EXCELで全てのシートを参照した一覧表の作成方法

    色々な情報を入力したSheetが50枚あり、 あまり手間のかからない方法で、 この50枚の中で、ある特定のセルの情報だけを参照させて一覧にした表を作成したいと思っています。 具体的には、Sheet名が”一覧表”というシートを作成し、 この”一覧表”シートの B1 セルには Sheet1 の A1 セルの値を表示させ、 次いで、同”一覧表”シートの B2 セルには Sheet2 の A1 セルの値を、 次いで、同”一覧表”シートの B3 セルには Sheet3 の A1 セルの値を、                       ・                       ・                       ・ 最後に、同”一覧表”シートの B50 セルには Sheet50 の A1 セルの値を、 といった形で、一覧表を作成したいです。 ご教示いただけますでしょうか。 よろしくお願いいたします。

  • エクセルのセルの値をシート名にするマクロ

    エクセルで、例えばB2セルに入力された数字を使って自動でシート名にしたいのですが、(=そのセルの値が変更されたときに 自動的に シート名が変更されるマクロ )どうやったらよいのか良くわかりません。また、重複するシート名があった場合にはアラートを表示させたいです。 例: 1.B2セルに10と入力する 2.もしシート名に重複が無ければ、シート名が自動的に「10月」になり、アクティブセルはB2に戻って復帰する。 3.重複がある場合は「シート名に重複があります」等のアラートを表示して終了する 多分 イベントとかいうものが絡んでくるのでしょうが、マクロは時々使うのですが、いつも記録したものを手直しする程度なので、標準モジュールの部分しか触った事がありません。 どなたか教えてください。お願いします。

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

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

  • 一時的にファイル名、シート名を変えて処理することは出来ますか?

    VBAを勉強中で、分からないので教えてください。 2つのWorkbook間でCopy、Pasteを繰り返し、必要なデータ を一覧に書込みするマクロを作成する時 Excelデータ(同じフォーマットでセルに入っているデータが少し ずつ違う)で、異なるファイル名、異なるシート名になってしまって いるものをマクロで処理をしたいのですが、VBAで書き込む時 にはWorkbooks("○○").Worksheets("○○")と指定しなくて は動作してくれないので、どのように指定したらいいか困っています。 「直前にアクティブだったWorkbook指定する」「先頭に位置する sheetを指定する」なんてコードがあれば、一番いいのですが、 そういうコードはあるのかもわかりません。 最終的には"あるセル"に入っているファイル名で保存してしまう ので、一時的に仮ファイル名、仮シート名に変えて、後に削除 して処理をすればいいかなとが思うのですが、どうやって処理 したらいいのかわかりません。 やりたい事をうまく説明出来ているかわかりませんが、ファイル名、 シート名が違う元のデータから、一覧表へ書き込むマクロを組み たいのです。その際の元データの指定方法を知りたい or 一時的 に名前を変えて処理する方法を知りたいです。 一覧表へ書込みをした後にメールで添付してその元データ (”あるセル”にファイル名変更したもの)を送り返したいのですが、 メールへ添付する事までマクロで出来ると助かります。マクロで そこまで出来ますか?これも合わせて教えていただけたらと思います。 つたない説明ですみませんが、よろしくお願いします。

専門家に質問してみよう