一つのブックに名前が1、2、3~31と31枚シートがあって、月毎にブックを分けて管理している
物があるのですが、ほぼすべてのデーターが前日のデーターを必要としており、月が替わった
1日のデーターで前月のデーターを取得する際、
『 =[23-01.xlsx]31!XX 』 といった感じでデーターを拾ってきてます。その翌月は
『 =[23-02.xlsx]28!XX 』 という風になるのですが、23-01を23-02へ、31を28へと
置き換えるのに数も多く非常に時間がかかって困っています。
※ XXは任意のセル。
上手く言葉で表現できないのでイメージですが
(A1のセルに 23-01.xls を入力)(A2のセルに 31 を入力)で
『 =[A1]A2!XX 』と入力したら23-01.xlsの31というシートからXXデーターを
取得するといった風な感じの事を行う方法は無いのでしょうか?
○○関数でこうすればとかVBAでこうすればとかあれば知恵をお貸しいただけると
助かります。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
一番手っ取り早く確実な手順は,次の通りです。
準備:
今から書き換えの作業をするブックを開く
そのブックが「変更前に」参照している「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などを『開いた状態』にしておかないと,計算が通りません。通らないとは,数式がエラーになるという意味です。
これでは実用的ではなく,ご質問の状況全体としてあまり役に立ちません。
置換の存在を完全に忘れてました、言われてみれば置換で一瞬で終わる作業ですね(><)
なんで1年以上気付かなかったんだろ…。
大変助かりましたありがとうございます。
※ちなみにINDIRECT関数では一度試してみて、仰られる通りの使用方法しか出来ず断念しました。
No.2
- 回答日時:
逆の考え方で、同一ブック内において(月末に)
月末の日付シートをコピーして「月末」という名前のシートにしておいてはいかが?
=[23-02.xlsx]月末!XX
No.3
- 回答日時:
#2です。
ブックの参照の変換も必要なんですね。やはり、keithinさんのおっしゃる通り、[Chrl]+[H]置換 が早そうです。
合わせ技で、月末の日付シートは常に「月末」にしておいてもいいかも。
もっと根本的なことを言うと、
1年間のデータを同一シート上に(データベース形式で)保存できないか
ってことです。抽出や並べ替え、集計をしないなら意味ないですが。
月末の日付は決まってるので、確かに予めシート名を変えてしまうのもありですね。
その方法も考えてみたいと思います。
1年間のデーターを同一シートで集めるのは、出来るなら一番行いたい方法です。
ただPCの性能がPentium3クラス&メモリの足りないのでエクセルを使う限りは
一ヶ月毎のデーターで正直限界です。
根本的な部分だとエクセルでやろうと思うのが行けないのでしょうが、知識不足の
問題でデーターベース系のソフトは無理っぽいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
別シートのセルを絶対参照にする
-
EXCELマクロで、シート間でのコ...
-
日付が未入力の際はゼロか、空...
-
エクセルで1月0日と表示される!!
-
Excelで連勤の氏名を抽出する
-
Rangeメソッドは失敗しました。...
-
エクセルでシート保護をかける...
-
マクロ 新しいシートにデータ...
-
エクセルの文字
-
セルを決まった数だけずらして...
-
Excel / 出納帳の繰越の仕方...
-
セルの値と同じ名前のシートを...
-
エクセルVBA「リストボックスで...
-
エクセルで条件に一致したセル...
-
excel 相対番地を絶対番地に変...
-
EXCEL リストボックスのRowSouc...
-
エクセル マクロ ボタンを押...
-
excel VBA ユーザーフォームを...
-
エクセルで複写のように自動入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの「0」だけ非表示、小数...
-
日付が未入力の際はゼロか、空...
-
Excelで複数シートの選択セルを...
-
エクセルで1月0日と表示される!!
-
エクセルで条件に一致したセル...
-
Rangeメソッドは失敗しました。...
-
別シートのセルを絶対参照にする
-
シート参照で変数を使いたい(EX...
-
Excelシートの保護時にデータの...
-
複数シートの同じセル内容を1シ...
-
エクセルで複写のように自動入...
-
エクセルの文字
-
Excelでスクロールすると文字が...
-
(Excel)あるセルに文字を入力...
-
Excelのファイル容量が減らない...
-
マクロ 新しいシートにデータ...
-
エクセルで別シートからの最大...
-
ExcelでTODAY関数を更新させな...
-
エクセルのセルに、マウスで選...
-
EXCELマクロで、シート間でのコ...
おすすめ情報