- ベストアンサー
エクセル 他ブックからデータの参照方法は?
- エクセルの同じブック内の別シートからデータを参照する方法について質問です。月毎にブックを分けて管理しているため、シート名やブック名を手動で変更するのが手間です。
- =[23-01.xlsx]31!XXという形式でデータを拾ってきていますが、23-01を23-02へ、31を28へと置き換えるのに時間がかかって困っています。
- 23-01.xlsxの31というシートからデータを取得する方法を教えてください。VBAなどの方法でも構いません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
一番手っ取り早く確実な手順は,次の通りです。 準備: 今から書き換えの作業をするブックを開く そのブックが「変更前に」参照している「23-01.xlsx」を開く そのブックが「変更後に」参照する「23-02.xlsx」を開く 手順: 今から書き換えの作業をするシートで Ctrl+Hで置換のダイアログを出し [23-01.xlsx]31 を [23-02.xlsx]28 に全て置換する 補足1: 手順に慣れてくれば,変更前後に参照している「23-01.xlsx」や「23-02.xlsx」を必ずしも開いおかなくても,それらを開いてない状態でのセルの数式(「='c:\folder\[23-01.xlsx]31'!A1」のような)をよく見て,その状態からどういう具合に置換の操作をすればよいか考えて操作すれば出来ます。 補足2: >(A1のセルに 23-01.xls を入力)(A2のセルに 31 を入力)で >…データーを取得するといった風な感じの事を行う方法は無いのでしょうか? ご質問の直接の回答としては,そういった事はINDIRECT関数を使って出来ます。 が,そのやり方では『常に』23-02.xlsxなどを『開いた状態』にしておかないと,計算が通りません。通らないとは,数式がエラーになるという意味です。 これでは実用的ではなく,ご質問の状況全体としてあまり役に立ちません。
その他の回答 (2)
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
#2です。ブックの参照の変換も必要なんですね。 やはり、keithinさんのおっしゃる通り、[Chrl]+[H]置換 が早そうです。 合わせ技で、月末の日付シートは常に「月末」にしておいてもいいかも。 もっと根本的なことを言うと、 1年間のデータを同一シート上に(データベース形式で)保存できないか ってことです。抽出や並べ替え、集計をしないなら意味ないですが。
お礼
月末の日付は決まってるので、確かに予めシート名を変えてしまうのもありですね。 その方法も考えてみたいと思います。 1年間のデーターを同一シートで集めるのは、出来るなら一番行いたい方法です。 ただPCの性能がPentium3クラス&メモリの足りないのでエクセルを使う限りは 一ヶ月毎のデーターで正直限界です。 根本的な部分だとエクセルでやろうと思うのが行けないのでしょうが、知識不足の 問題でデーターベース系のソフトは無理っぽいです。
- 某HN クロメート(Chromate)(@CoalTar)
- ベストアンサー率40% (705/1742)
逆の考え方で、同一ブック内において(月末に) 月末の日付シートをコピーして「月末」という名前のシートにしておいてはいかが? =[23-02.xlsx]月末!XX
お礼
置換の存在を完全に忘れてました、言われてみれば置換で一瞬で終わる作業ですね(><) なんで1年以上気付かなかったんだろ…。 大変助かりましたありがとうございます。 ※ちなみにINDIRECT関数では一度試してみて、仰られる通りの使用方法しか出来ず断念しました。