Excelファイル名をセル番地で指定したい方法は?

このQ&Aのポイント
  • Excelファイルの数式でセル番地を動的に指定する方法が知りたいです。
  • 特定の数式のセル番地を自動的に変更する方法を教えてください。
  • Excelの数式で年月の部分をセルの値として参照する方法がわかりません。
回答を見る
  • ベストアンサー

EXCEL ファイル名をセル番地で指定したい

お世話になります。 下記のような配列数式を使った数式があります。 この数式の"1508"という部分が年月で毎月私が置換で変えています。来月になれば私が手動で1508を1509に置き換えをします。この数式に似た数式が1シートに100個ほどあります。 ={SUM(IF(('\\192.168.XXX.X\共有\東京\2015\上期売上データ\[1508売上表(東京).xls]東京支店'!$A$2:$A$65536=D2)*('\\192.168.XXX.X\共有\東京\2015\上期売上データ\[1508売上表(東京).xls]東京支店'!$I$2:$I$65536=$L$4)*('\\192.168.XXX.X\共有\東京\2015\上期売上データ\[1508売上表(東京).xls]東京支店'!$S$2:$S$65536=1),'\\192.168.XXX.X\共有\東京\2015\上期売上データ\[1508売上表(東京).xls]東京支店'!$R$2:$R$65536,))} (やりたいこと) 上記数式の"1508"年月の部分をA1セルの値を参照するようにして、今後はA1を1509とか1510にすれば数式も変わるようにしたいのです。調べてINDIRECTという関数を使ってみましたが私のやり方が悪いのかどうもうまくいきません。年月は文字扱いにしたいです。 どなかたご教授いただけませんでしょうか。 よろしくお願い致します。 環境 Excel2013

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

まず、ご質問の直接の回答としては、ご相談の数式の該当部分を関数で他のセルで参照させる方法は全くありません。つまりINDIRECT関数などを使っても、出来ません。諦めて他の方法を検討してください。 次に、ご相談でヤリタイ事を実現するには、単純に次のようにします。 手順: Ctrl+Hで置換のダイアログを出す 必要に応じてダイアログのオプションを開いて対象を「数式」にする 1508 を 1509 にすべて置換する (状況に応じて1508売上を1509売上に置換するなど工夫する) 以上です。 オマケで、ご相談で実際に使われている配列数式はあまりに非効率過ぎです。計算時間も随分かかっています。 ご利用の各エクセルは、本当に6万件(65536行)もデータが蓄積されるのですか? もうちょっと現実的な範囲で計算するよう、工夫すべきです。

yakkun2338
質問者

お礼

keithinさん、早速のご連絡いつもありがとうございます! こちらかの連絡が遅くなりまして申し訳ございません。 出来ないのですね。 とても勉強になりました。置換で対応したいと思います。 またご指摘ありがとうございました! 仰る通り、65536行もありません・・せいぜい10000行ほどです。 早速65536部分を直しましたら動作がとても早くなりました! 本当にありがとうございました!! いつもありがとうございます!

関連するQ&A

  • バッチで複数のExcelファイルを1つに結合したい

    お世話になります。 私のPCのWidonwsタスクスケジューラーを使って昼12:00になったら、ファイルサーバー(\\192.168.XXX.XXX)に保管してある"売上(東京).xls"と"売上(名古屋).xls"という2つのExcelファイルを私のPCの\Cドライブ\TEST\配下に"TEST.xls"というファイルを作成して、このファイルに2つのEXCELファイルを結合(上書き)したいのです。 下記のコードを記述しましたところ、TEST.xlsは作成されましたが、中身が壊れて開けません。 何がいけないのかご教授いただけませんでしょうか? (環境) WindowsXP SP3 Excel2003 以下、私が書いたコード ========================================== @echo off echo ファイルを結合します。 copy \\192.168.XXX.XXX\営業\東京\売上(東京).xls + \\192.168.XXX.XXX\営業\名古屋\売上(名古屋).xls C:\TEST\ファイル\TEST.xls /Y echo 終了しました。 ==========================================

  • EXCEL 別ブックの特定のシートにリンクする

    お世話になります。田中と申します。 A.xlsxというブックがあります。 このA.xlsxのA1セルにサーバー上にある別ブックの[売上げデータ.xlsx]の"田中"というシートのC9の数字にリンクを張るために下記の数式でリンクを張りました。 ='\\XXX.XXX.XXX.X\共有\営業別\[売上げデータ.xlsx]田中'!C9 この数式の'田中'部分を、A.xlsxのD4を参照するようにしたいのですが、どうすれば出来るでしょうか?あとリンク先が存在しない場合にはブランク表示にしたいのです。 どなたかお知恵をお借りできませんでしょうか? よろしくお願い致します。 環境 EXcel2013

  • エクセルの計算式を教えて下さい

    前期売上額の右側の列に「前期売上額比較(%)」(「」は不要)という項目をつくり zenkihikaku.txtより正しく表示せよ ※マイナスの表記については書式設定にて値の前に▲がつくように設定すること と、言う問題ですが、zenkihikaku.txtより正しく表示せよってことは、zenkihikaku.のデータは間違ってる ってことですか?zenkihikakuのデータを使って前期売上額の金額で、どうやって計算すれば いいのですか?前期売上額はhoukoku.xlsと言うシートにありますのでそこへ表示するようになります  houkoku.xlsデータ    A         B        C 1 支店名    前期売上額 2 東京支店    34440000 3 千葉支店    30000000 4 埼玉支店    31530000 5 神奈川支店   35440000 6 北海道支店   26260000 7 大阪支店    31490000 8 静岡支店    28770000 zennkihikaku.txtデータ 東京支店   2.44 千葉支店   1.30 埼玉支店   6.51 神奈川支店  ▲2.40 北海道支店  0.05 大阪支店   ▲1.25 静岡支店   ▲0.58  と、このようにデータがありますが、正しく表示するにはどのように計算すればいいのですか 教えてください、よろしくお願いします。

  • ExcelVBA支店名の付いたブックの複数作製

    お世話になります。 添付のような各支店のパンの売上数量をまとめたデータがあります。 やりたいこと・・・ 今回の例では東京支店、名古屋支店、大阪支店が1つのブックにまとまっていますが、これを支店別のブックに分けたいのです。 データの構造や保存場所は変わらず、支店別のブックを作製したいのです。 さらに要約しますと・・ 添付のブックをもとに、A列の支店名から東京支店.xls 名古屋支店.xls 大阪支店.xlsという3つのブックに分解するイメージです。ブック名はA列から持ってこれるようにしたいです。 ちなみにA列の支店名は支店毎に一塊になっていて、とびとびに出現することはありません。 どなたかお力添えいただけませんでしょうか? よろしくお願い致します。 環境 Windows XP SP3 Excel2003

  • 複数EXCELを1つにする

    お世話になります。 私のPCのWidonwsタスクスケジューラーを使って昼12:00になったら、ファイルサーバー(\\192.168.XXX.XXX)に保管してある"売上(東京).xls"と"売上(名古屋).xls"という2つのExcelファイルを私のPCの\Cドライブ\TEST\配下に"TEST.xls"というファイルを作成して、このファイルに2つのEXCELファイルを結合したいのです。 結合したデータは東京データの後に名古屋データ(出来ましら見出し行A1がない状態で)が張り付いてくれれば最高です。 当初はbatファイルからcopyコマンドの実施を試みましたが、xlsファイルには無効という事で断念しました。VBAでなら実現可能と聞きましたので、どなたか簡単なロジックをご提示いただけますでしょうか? (環境) WindowsXP SP3 Excel2003 よろしくお願い致します。

  • 複数のエクセルファイルの集計

    VBAを使って複数のエクセルファイルをあるひとつのファイルにコピーをするにはどうすればよいのですか? アンケート集計をしてます。同じフォルダー(C:\Test)にある回収した1000件分のアンケートを全てData.xlsに集計したいと思っております。具体的にはアンケート表の「1アンケート.xls」のセルS84:S94,S102:S115,S123:S131,S139:S154を]集計表.xls]のA1:AX1に行列を入れ替えて値貼り付けし、「2ンケート.xls」も同じセル番号を、「集計表.xls」のA2:AX2に、・・・・・・(繰り返し)・・・・・「1000アンケート.xls」を「、「集計表.xls」のA1000:AX1000という具合に集計したいと考えております。 似たような質問もあり、自分なりに調べてカスタマイズしてみましたが、VBAを全くやったことない私にはどうしても出来ません。どなたかご教授していただけると幸いです。

  • 3つの別々のExcelを1つのExcelに集計

    お世話になります。 現在会社でバラバラで管理されているExcelデータを集計する仕組みを作るように依頼されました。しかし当方VBAは素人なので、どうやってこの依頼を実現したら良いのか全く分からず困っております。 下記に内容を質問させていただきます。 (依頼内容) 下記(1)~(3)の各支店の売上データを1つのExcel(4)に集計したい (使用するデータ) (1)東京.xls 置き場所= \\サーバーIP\東京\東京.xls (2)千葉.xls 置き場所= \\サーバーIP\千葉\千葉.xls (3)大阪.xls 置き場所= \\サーバーIP\大阪\大阪.xls (4)集計.xls 置き場所= 私のデスクトップ 東京、千葉、大阪、の3つのExcelはそれぞれ月毎1~31日までの売上金額が記述されています。3つのExcelのデータの範囲の列はA1~A3固定で同じですが下限はバラバラです。 またこの3つのExcelは同じサーバー上に置いてあります。(パスは異なります) Excelの中身はこのような感じです A1 A2 A3 【日】 【担当者】 【売上金額】 1日 鈴木 100円 2日 田中 1000円 3日 高橋 500円 (やりたいこと) 私のローカルに置いてある上記(4)の集計.xlsを使用して(1)~(3)のExcelのデータを一発で集計したいのです。 例えば集計.xlsの[集計]というボタンを押すと(1)~(3)のExcelの全データを集計.xlsの[[集計結果]というシートにコピペしたいのです。 上記仕組みを実現するためのサンプル等をご教授いただけますと大変嬉しい限りでございます。 自分で出来ないながらもVBAのサンプルも作らずにお聞きするだけで図々しいのは百も承知ですが、会社からは今月中に完成させてくれと言われ、焦っています。どなたか良き方法をご教授いただけませんでしょうか? 環境 Excel2003 Windows XP SP3 サーバーは・・分かりません よろしくお願い致します。

  • エクセルVBAで対応する表の数値を取得したいのですか・・・

    こんばんは。教えていただけるでしょうか。 表形式で表現したかったのですが、無理のようでしたので、下のように表しました。 二つのシート[売上データ][原価表]があります。 [売上データ]にはランダムに各支店で売り上げた商品名がデータとしてあります。この[売上データ]のL列の「原価」に支店ごとに原価の違う原価の値を入れていきたいのですが、どのようにすればいいでしょうか。 支店ごとに違う原価の値は「原価表」のBからF列に商品名ごとに表になっています。 たとえば、[売上データ]のA列に“商品A”という商品が、J列の支店名に“札幌”とあったとすると、 [原価表]のA列の中から商品名を探して、B列の札幌の列から“商品A”に対応する原価の値を探して、[売上データ]のL列(原価)に順に入れていくというようにしたいのですがさっぱりわかりません。関数でもできると思うのですが、それも私には難しくわかりません。どなたか教えていただけるでしょうか。よろしくお願いします。 [売上データ] A1 商品名 B1 項目a C1 項目b ・ ・ ・ J1 支店名 ・ L1 原価 [原価表] A1 商品名 B1 札幌 C1 東京 D1 名古屋 E1 大阪 F1 福岡

  • 指定したセルまでの合計を求める

    指定したセルまでの合計を求める 平成16年から平成22年までの月別個数データがあります。 A1セルに[年]、A2セルに[月]を入力すると その年月までの個数合計が出るような数式を作成したいです。 どのように数式を作ったらいいのでしょうか? ご教授お願いいたします! <データ> 【 年月 】【個数】 平成16年1月 10 平成16年2月 22 平成17年3月 5 ・ ・ ・ 平成22年5月 7 平成22年6月 8 平成22年7月 20 A1セル:[22] A2セル:[5] と入力すると、平成16年1月から平成22年5月までの個数合計が出る

  • エクセルで二つのファイルを一つのファイルにする

    エクセル2010の質問です。 二つのファイル(同ファイルに2枚シートがあるのではない)があるのですが、この二つのファイルを一つのファイルにまとめたいのです。 一つ目のファイルには横A~S、縦1~60まで使っていてそれぞれ数式が入っています。 二つ目のファイルには横A~R、縦1~60まで使っていてそれぞれ数式が入っています。 私がやりたいのは、一つ目のファイルの終わりの列であるS列の次のT列から二つ目のファイルのA~Rまでコピーして、 尚且つ二つ目のファイルの数式を合うように(たとえば二つ目のファイルのとある数式はA列を使用しているのでコピー後はA列は一つ目のファイルの数値となるためコピー後T列になるように)したいのです。 データが膨大なのでなんとかコピーを使いたいです。 説明が難しいですが、詳しい方ご回答をお待ちしています。 説明が足りない場合は補足いたしますのでご指摘お願いします。

専門家に質問してみよう