• ベストアンサー

エクセルにて

AとBというブックがあり、Bには200程度のシートがあるとします。 Bのシートは全部同じ形式のシートです。 そのシート名は全て6桁の数字になっています。 AのシートのあるセルにそのBのシートの6桁の数字を 入力した時に、Aのシートの任意のセルにBのブックの同じ6桁のシートの任意のセルを参照させるにはどのようにしたらよいのでしょうか? できれば関数だけで処理できるとありがたいのですが それともやはり変数を使用したVBAでないと無理でしょうか? 分りづらい表現で申し訳ありませんがよろしくお願いします。

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

  • ベストアンサー
  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.2

同時に開いている場合です。(INDIRECTは同時に開いてないとダメだと思います) B.xlsにシート「100001」と「100002」があるとして A.xlsのA1に「100001」又は「100002」 A.xlsのB1に =INDIRECT("'[B.xls]"&A1&"'!$A$1") で、B.xls の「100001」又は「100002」シートの A1セルを参照できます。

fisherman2
質問者

お礼

ありがとうございます。 Indirect関数を参照させる部分の記述が よく分らなかったもので、ダブルクォーテーションと アポロストロフィが自分でうまく理解出来ていませんでした、お陰で無事解決しました。

その他の回答 (1)

  • wolv
  • ベストアンサー率37% (376/1001)
回答No.1

='C:\Documents and Settings\fisherman2\デスクトップ\[B.xls]Sheet1'!$A$1 のような形式で参照できるようです。

fisherman2
質問者

補足

すいません、表現がまずかったようですが 上記の場合のSheet1=6桁の数字が変化しても 常に参照できるようにしたいということなのですが。。。

関連するQ&A

  • エクセル関数INDIRECTについて

    エクセル関数 セルの参照についての質問です。 ひとつのBookの中に、AとBのシートがあります。 Aにデーターを入力し、Bに必要な部分だけセルの参照(INDIRECT)関数を使ってデーターを反映させていたのですが、Bのシートだけを別のBookとして保存した場合、INDIRECTの関数を使った部分がエラーの表示になってしまいます。(よく考えればAを参照しているので当たり前なのですが。。。) Bのシートを別のBookに保存しても参照しているデーターが消えない方法(関数)はあるのでしょうか? ご存知の方がいらっしゃいましたらご教授下さい。 (説明が下手ですみません)

  • エクセルVBA 他ブックのシートのsub呼び出し

    ブックBのシート(*)に関数 sub aaaを定義します。 (*)シートオブジェクト名を任意のものに変更します。(→eee) この時、ブックAのVBAからブックBを開き、その参照を得て(workbook型の wbという名前の変数に格納します。)、「Call wb.eee.aaa」と 呼び出すことができると思っていましたが、"オブジェクトは そのメソッド/プロパティを持っていません"という旨のエラーが 出て、呼び出すことができませんでした。 どのようにしたら呼び出すことができるようになりますか。 aaaはpublicで定義しています。

  • エクセルで順列が違う数列の認識はできますか?

    タイトルが分かり辛い表現になってしまいました。 ランダムな四桁の数字がA列に並んでいるとします。 ここでB2に任意の四桁の数字を入力します。 この数字で構成されている四桁の数字が入っているセルを任意の色で塗りつぶすように 条件付き書式を設定したいのですが、どのようにすればいいのでしょうか? 画像の例で言えば1234と打ち込んでますので 「1234」「1243」「1324」「1342」「1423」「1432」 「2134」「2143」「2314」「2341」「2413」「2431」 「3124」「3142」「3214」「3241」「3412」「3421」 「4123」「4132」「4213」「4231」「4312」「4321」 の24つの数字が出てきた所に塗りつぶしを行いたいのです。 B2の数字を変えても反応するようにしたいので 条件に以上の24つを設定する方法ではできません。 エクセルは2010を使っています。 ちなみにA列にはRAND関数を使っています。 宜しくお願いします。

  • エクセル)VBAで他のブックのセル参照

    はじめまして。 エクセルのVBAについて教えてください。 VBAで、 book1のsheet1のセルA1にあるデータを開いていない(アクティブでない)別のbook2のsheet2のセルB1にコピーしたいのですがこんなことってできるのでしょうか? ・・やはり開いていないとダメなんでしょうか? あと、これって"ブック参照"っていうことなんでしょうか?自分がやりたいことが何なのか判らないので上手く調べる事が出来ず難儀しています。 よろしくお願いします。

  • エクセル下三桁の検索方法教えて下さい

    初めて質問させていただきます。 Sheet1 A1 に検索したい数字(3桁)入力します Sheet2 の B1 - B123 までに検索したい対象の数字(アルファベット含、10桁以上)の数値があります。 A1に数値を入力し 他のセルにB1-B123の下三桁と一致するセルを出したいのですが、 たどり着けませんでした。 分かる方、教えて下さい。 できればVBではなく、関数の方法お願いします。

  • エクセル上のVBA

    当方、VBAまるっきり初心者です(触りはじめて3日くらい)。 エクセルはある程度理解しているつもりですが… バージョンはエクセル2000です。 他シートのセルのひとつに入力すれば、 別シートのセルがそれを参照したうえで 値として表示出来るようにならないでしょうか。  今のところ、以下のような状況です。 step01 sheet1のセルA1に任意の数値(整数限定です)を入力。 step02 sheet2のセルA1に、sheet1のセルA1の数値を用いて     MOD関数で余りを出す。 step03 sheet2のセルB2に以下のVBAによって     step02の余りを値として表示。      Private Sub Worksheet_Change(ByVal Target As Range)        Range("b2").Value = Range("a1")      End Sub  これだとsheet1の数字を変えても、 sheetの切替後sheet2のセルB2に 表示される値が変わってくれません。  最初の入力(step01の入力)をおこなえば sheet2のセルB2まで値が変わってくれるような方法を 教えていただけないでしょうか。  拙い説明で申し訳ありませんが、よろしくお願いします。

  • Excelについて

    Excelでシート2のセルがシート1を参照している状態で、シート1のセルのA1とA5に数字を入力したとき、シート2のセルのA1とA5(シート1を参照している)に数字が表示される。シート2のA列のA1からA10までのなかで数字が表示されているセルの個数を表示させたい。(答えは2なのに、count関数をつかうと、結果が10になってしまう)。方法をおしえてください。

  • エクセル操作

    エクセル2007です。A1に0、A2に5、A3に10と数字があります。 B1からK1のセルにA1のセル0のデーター、B2からK2にはA2の5のデーター、B3からK3にはA3の10のデーターが入っています。 あるセルに0,5,10のうち任意の数字を入力した場合にその数字のBからKまでのデーターが他のセルで参照できるようにするにはどの関数を使用すれば宜しいのでしょうか。 ご教示ください。

  • 《エクセル2000》シート名をセルで指定する?

    「学校」「会社」「家庭」などをシート名に持つファイルがあります。 それぞれに入っている数字を「集計」シートに集計したいのですが、例えば集計シートのA1セルに「学校」などのシート名を表示させて、その「集計シートA1セルの値に該当する名前のシートのB1~B100を合計する」というのを、関数で表現するにはどうすればいいでしょうか?(VBAではなく) よろしくお願い致します。

  • Excelのcsv保存について

    別ブックのデータを参照して、csvで保存するためのブックを作ったのですが、参照のための関数が入力されているセルもcsvにnullで出力されてしまいます。 参照元.xls  A B C D E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 csv出力用.xls A1~E5には作業の都合上、 =IF([参照元.xls]Sheet1!A1="","",[参照元.xls]Sheet1!A1) のような関数を入れて参照しています。  A B C D E 1 あ い う え お 2 か き く け こ 3 さ し す せ そ 4 5 これをcsvで保存すると、 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ,,,, ,,,, と、データは未入力だけど関数が入っている部分まで保存されてしまいます。 これを、 あ,い,う,え,お か,き,く,け,こ さ,し,す,せ,そ ここまでで保存できるような方法、 もしくは関数などはありませんでしょうか。 csv出力用のブックでは一括半角置換や全角置換、 誤入力されたハイフンやスペースの削除などをおこなっているので、 できればこの参照形式は崩したくありません。 わかるかたいらっしゃいましたらアドバイスをお願いします。

専門家に質問してみよう