
月度ごとのファイルがあり、フォーマットは全て同じです。
<例>
一覧データ0604.xls
店番 金額
111 15000
112 10000
この金額を一覧表にしたいと思います。
店番 0604 0605 ・・・
111 15000 12000
112 10000 18000
この一覧表を作るために、VLOOKUP関数を使いました。
普通に入れると、ファイル名の変更が面倒なので、作業行を作っています。
店番 0604 0605 ・・・
作業行
111 15000 12000
112 10000 18000
06年04月の作業行(B2セル)には以下の式を入れています。
="'D:\マイドキュメント\[一覧データ"&B1&".xls]全店明細'!$A:$B"
そして実際のVLLOKUPは111店の場合こうです。(B3セル)
=VLOOKUP($A3,INDIRECT(B$2),2,0)
これでフィルコピーしてデータを持ってくることはできるのですが、一覧データファイルが開いていないとダメです。
すると2年分であれば24個のブックを開かないといけません。
出来ればファイルを開かずに使えると良いのですが、この式ではダメですよね?
もしできる方法があれば教えて下さい。よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
>出来ればファイルを開かずに使えると~
と言うことですが、ブックを同時に開くように「作業状態の保存」で保存してはいかがでしょう
作業用のブックと参照したいブックをあらかじめ開いておいて
ファイル → 作業状態の保存
で保存するだけです
これは文字通り作業状態(開いていたブックの状態)をそのまま保存する機能です
保存したファイルを開くと、保存時に開いていたブックを全て開いてくれますので【 手 間 】はかかりません
また、各々のブックの変更は各ブックへ引き継がれますので普通に作業できます
なお保存したファイルには ".xlw" の拡張子が付きますが、このファイル自体にはブックの中身のデータは存在しません
データのバックアップやコピーが必要なときは、ブックを対象にしてください
ありがとうございます。
ここに書いたのは一例で、実際にはいつも同じファイルではないです。
たとえば一覧データの他にPL0604や、人件費0604…など。
また日付も06年~07年と固定というわけでもないのです。
ファイルの開き方ではなく、そのように参照できる式があれば知りたいと常々思っていたので質問しました。
説明不足で申し訳ありません。
No.3
- 回答日時:
エクセルでこういうことをしようとするから、無理が出てくるのです。
ブックを別にすると、VBAでも熟達しないと、処理できなくなる
恐れが多い。
VBAが出来ないなら、エクセルを本格的な仕事の取引関係の処理に使うな、が小生の持論です。
アクセスなどのデータベースを使う分野にもなる。
せめて多シート(月別をシートで分ける)にしておけばという風に思う。
VBAで各ブックの全レコードを1シートに集め、店番+月でソートして表の組み換えをしないとならないでしょう。
--
一般に、ブックを開いてメモリに展開してないデータは読めないが鉄則です。
読めるように見える場合があっても、裏で開いていて、画面に表示してない場合です。
==
手作業でやるほか無い。
出来る方法を聞いたのであって、仕事のやり方の是否は聞いていません。
VBAもアクセスも使っています。が、それはまた別の仕事の話です。
私は、すでにできているファイルや仕組みを使う場合、その中で最大限効率的にやりたいと思うのです。
今後、違う仕組みを入れるにしても、このファイル処理に関しては、現状は変わらないのだからいまさら仕組みを変えることはできません。
VLOOKUPはINDIRECTを使わず、全て文字列で書けば閉じていてもきちんとデータを持ってくるので、なぜINDIRECTを入れるとダメなのか分からず質問しました。
No.2
- 回答日時:
>2年分でれば24個のブックを開かないといけません。
毎月のファイルの中身は編集するのでしょうか?
今月分は編集されても過去の分は変更なしであれば
集計のファイルにコピイして貼り付けておけばどうでしょう。
毎月 ひとつのファイルを開く の 作業が一度は発生しますが。
ありがとうございます。
NO1の方のお礼にも書きましたが、この作業の単純化…という訳ではなく、なにか良い数式がないかなと思って質問しました。
いつもこのような名寄せ?的な作業をする時に、試行錯誤しているのですが、なかなか良い方法が思いつきません。
マクロを書いてやることもあるのですが、式でできればいいのにといつも思うのです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
開いてないブックへの参照の変更方法
Excel(エクセル)
-
-
4
エクセルで開いていないbookのセルの値が欲しい
Excel(エクセル)
-
5
外部ファイルを開かず参照したい
Excel(エクセル)
-
6
VLOOKUP,INDEX,MATCH 関数 開いていないファイルより複数の値を参照できない
Excel(エクセル)
-
7
Vlookup関数の参照元ファイルについて
Excel(エクセル)
-
8
エクセル関数>参照ファイル名をセルから呼び出す
Excel(エクセル)
-
9
リンクをアップデートするしないの自動化
Excel(エクセル)
-
10
vlookup関数の引数を変数で指定することはできますか?
Excel(エクセル)
-
11
Excel 相対パス
Excel(エクセル)
-
12
ハイパーリンクされたセルをVlookupでひっぱってきたい
Excel(エクセル)
-
13
VBA マクロ実行時エラー’1004RangeクラスのPasteSpecialメソッドが失敗
Access(アクセス)
-
14
エクセルで別ブックのセルを参照する式の内部
Excel(エクセル)
-
15
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
16
参照元のブック名の変更を自動的に式に反映させたい
Access(アクセス)
-
17
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
18
Excel に貼り付けた図形が、保存した後、再度、開くと勝手に動いている。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessのクエリで、replace関数...
-
Microsoft 365 Basic サブスク...
-
ACCESS VBA でのエラー解決の根...
-
Accessのレポートについて
-
access2021 強制終了してしまう
-
列が255以上のCSVファイルをAcc...
-
access2019 チェックボックスと...
-
access2021 VBA メソッドまたは...
-
Access Error3061 パラメータが...
-
Access DAOのExecuteメソッドの...
-
Accessでレポートを印刷する時...
-
Access VBA [リモートサーバー...
-
Accessのスプレッドシートエク...
-
accessでlaccdbファイルが削除...
-
【至急・画像あり】建物or住所...
-
マクロの書式についての質問で...
-
accessデータを指定したExcel、...
-
Accessで独自メニューバーまた...
-
access2021 メッセージボックス...
-
Accessのフォーム上のテキスト...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
ACCESS VBA でのエラー解決の根...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
Access VBA [リモートサーバー...
-
access2021 VBA メソッドまたは...
-
Access VBA を利用して、フォル...
-
Accessデータベースに含まれる...
-
アクセスで、実行時エラー3075 ...
-
Access Error3061 パラメータが...
-
提供されるデータの形式が変わ...
-
Accessのスプレッドシートエク...
-
お助けください
-
accessデータを指定したExcel、...
-
CSVファイルの「0落ち」にVBA
-
Accessのリンクテーブルのパス...
-
accessでlaccdbファイルが削除...
-
Accessのクエリの結果を、既存...
-
Microsoft365にAccessってあり...
-
実行時エラー3131 FROM 句の構...
おすすめ情報