月度ごとのファイルがあり、フォーマットは全て同じです。
<例>
一覧データ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.2
- 回答日時:
>2年分でれば24個のブックを開かないといけません。
毎月のファイルの中身は編集するのでしょうか?
今月分は編集されても過去の分は変更なしであれば
集計のファイルにコピイして貼り付けておけばどうでしょう。
毎月 ひとつのファイルを開く の 作業が一度は発生しますが。
ありがとうございます。
NO1の方のお礼にも書きましたが、この作業の単純化…という訳ではなく、なにか良い数式がないかなと思って質問しました。
いつもこのような名寄せ?的な作業をする時に、試行錯誤しているのですが、なかなか良い方法が思いつきません。
マクロを書いてやることもあるのですが、式でできればいいのにといつも思うのです。
No.3
- 回答日時:
エクセルでこういうことをしようとするから、無理が出てくるのです。
ブックを別にすると、VBAでも熟達しないと、処理できなくなる
恐れが多い。
VBAが出来ないなら、エクセルを本格的な仕事の取引関係の処理に使うな、が小生の持論です。
アクセスなどのデータベースを使う分野にもなる。
せめて多シート(月別をシートで分ける)にしておけばという風に思う。
VBAで各ブックの全レコードを1シートに集め、店番+月でソートして表の組み換えをしないとならないでしょう。
--
一般に、ブックを開いてメモリに展開してないデータは読めないが鉄則です。
読めるように見える場合があっても、裏で開いていて、画面に表示してない場合です。
==
手作業でやるほか無い。
出来る方法を聞いたのであって、仕事のやり方の是否は聞いていません。
VBAもアクセスも使っています。が、それはまた別の仕事の話です。
私は、すでにできているファイルや仕組みを使う場合、その中で最大限効率的にやりたいと思うのです。
今後、違う仕組みを入れるにしても、このファイル処理に関しては、現状は変わらないのだからいまさら仕組みを変えることはできません。
VLOOKUPはINDIRECTを使わず、全て文字列で書けば閉じていてもきちんとデータを持ってくるので、なぜINDIRECTを入れるとダメなのか分からず質問しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 11:27
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- その他(Microsoft Office) エクセルについて教えてください。 2 2022/10/20 14:55
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Excel(エクセル) 【エクセル】元データからの引用 5 2022/04/18 10:22
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
リンク先のファイルを開かなくても、値が読み込めるようにできますか?(SUMIFSを使ってます)
Excel(エクセル)
-
別ファイルを開かず、INDIRECT関数を使用せずに、別ファイルのデータを求めたい
Excel(エクセル)
-
エクセルで開いていないbookのセルの値が欲しい
Excel(エクセル)
-
-
4
開いてないブックへの参照の変更方法
Excel(エクセル)
-
5
VLOOKUP,INDEX,MATCH 関数 開いていないファイルより複数の値を参照できない
Excel(エクセル)
-
6
外部ファイルを開かず参照したい
Excel(エクセル)
-
7
Vlookup関数の参照元ファイルについて
Excel(エクセル)
-
8
Excel 相対パス
Excel(エクセル)
-
9
VLOOKUP関数で別ファイルを指定するとき、ファイルのパスを変数にしたい
Microsoft ASP
-
10
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
11
エクセルでエラーが出て困っています。
Excel(エクセル)
-
12
EXCELで他のファイルデータをドロップダウンさせるには?
その他(コンピューター・テクノロジー)
-
13
ハイパーリンクされたセルをVlookupでひっぱってきたい
Excel(エクセル)
-
14
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
15
WorkBooksをオープンさせずにシートにコピーしたい【EXCEL VBA】
Excel(エクセル)
-
16
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
17
エクセルで参照しているデータを常に最新の状態にしたい
Excel(エクセル)
-
18
【Excel VBA】ネットワーク上の共有フォルダにあるExcelを開く
Excel(エクセル)
-
19
【Excel】 SUMPRODUCT関数の高速化
Excel(エクセル)
-
20
エクセルでリンクが更新されない
その他(ソフトウェア)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
アクセスクエリの計算
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
エクセルのデータをアクセスに...
-
アクセスで教えてください。 ク...
-
【至急・画像あり】建物or住所...
-
Accessのスプレッドシートエク...
-
ACCESS VBA でのエラー解決の根...
-
Microsoft Accessをクレジット...
-
accessデータを指定したExcel、...
-
Microsoft365にAccessってあり...
-
Access VBA [リモートサーバー...
-
Accessで作ったデータベースをw...
-
アクセス レポートを開いたとき...
-
日付のテキストボックスに(例...
-
Accessのリンクテーブルのパス...
-
Access で半角スペースと全角ス...
-
アクセスクエリで教えて下さい...
-
Access Error3061 パラメータが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
Accessのリンクテーブルのパス...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
CSVファイルの「0落ち」にVBA
-
【Access】Dcount関数の複数条...
-
Accessのフォーム上のテキスト...
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
Vba Userformを前面に出すについて
-
Accessでフォームに自動入力し...
-
Accessレポートのチェックボッ...
-
Accessのテキストボックスの入...
-
Access 複数条件検索の設定が上...
-
accessのフォームに設置したボ...
おすすめ情報