• 締切済み

EXCELで他のブックを参照する方法について

BookA.xlsx(明細)と、BookB.xlsx(集計先:関数集計+グラフ)ふたつのブックがありますが、Aを開かずにBを開くと集計されません。COUNTIFS関数等を使っているからのようですが、コードの記述で集計できませんでしょうか。 (AとBを同じブックにすれば簡単なのですが、今回は諸事情によりできません) パス・ファイル名・シート名をBookBに埋め込んで、それを呼び出すなどできませんでしょうか。コード初心者なので、具体的なサンプルをご教授頂けると助かります。大変お手数ですがよろしくお願いいたします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

http://www.ic.daito.ac.jp/~mizutani/spreadsheet/vlookup3.html 別ファイルにあるデータを参照 ー>開いていない別ファイルのブックデータを指定するには ででできないですか。 例 =SUM('C:\Users\xxx\Documents\[SUMIFS2.xlsm]Sheet2'!$B$2:$B$7) xxxは私の場合ユーザー名。もしバックスラッシュが出たら円マーク文字に 置き換える。 ==== >コード初心者 エクセル関数の初心者というべきか? VBAコードを書く初心者か、紛らわしい。 「Excel 4.0 マクロとは:エクセルマクロ・Excel VBAの使い方」 という話題とも関連するので。 https://www.relief.jp/docs/001368.htmlの記事など。 https://qiita.com/Q11Q/items/287328a56cef6b5a9186 他ブックのデータを、ブックを開かずに取得する(VBAでの話)

satoshi5050
質問者

お礼

回答ありがとうございました。 (VBA初心者です。紛らわしくてすみませんでした。)

  • kkkkkm
  • ベストアンサー率65% (1620/2459)
回答No.2

等なので他にもあるかとは思いますがとりあえず COUNTIFS関数でしたら SUMPRODUCT関数にしてみてはいかがでしょう。 たとえば =COUNTIFS(B2:B12,1,C2:C12,2) でしたら =SUMPRODUCT((B2:B12=1)*(C2:C12=2)) みたいな感じで(B2:B12を実際のBookBのセルを指定してください)

  • WDY
  • ベストアンサー率27% (121/436)
回答No.1
satoshi5050
質問者

お礼

早々にありがとうございます。

関連するQ&A

  • エクセル2002 winXP タイトルの列を入れ替えて他のブックへコピーしたい

    お世話になります。 簡単なマクロを使って、表題通り、あるブックの表を、他のブックへ コピーし、なおかつタイトル列を右へ左へと入れ替えた状態で表示する方法を 教えてください。 具体的には・・・ bookA には、A列から順番に、たとえば 日付 材料名 単価 入り数 金額 というタイトルの列が並んでいて(データの量は、3000行くらいです) 各列には文字列だったり数値だったりのデータが入っています。 このようなデータから、他ブック  bookB へ。 このbookB には、既にデータが何千行か入っていて、bookAと 同じデータなのですが、 見方を違えているので、タイトルがbookA と 並び方が違っています。 bookA のタイトルが、bookBでは 日付 単価 金額 入り数 (実際にはもう少し複雑なのですが)と並んでいます。 このbookBの、最終行に、bookA を、貼り付けたいのです。 bookA   日付 材料名 単価 入り数 金額    (3000行くらいデータが入ってるのでそれをコピーしたい) から、 bookB   日付 単価 金額 入り数        (既に何千行か入ってるので最終行の続きへ貼り付けたい)

  • excel 他ブックからセルを範囲で取得する方法

    Abook.xlsx、B1book.xlsx、B2book.xlsx、B3book.xlsxというファイルがあります。 B1book~B3bookは同じフォーマットになりますが、Bbookのセル範囲(A1:C7)を Abookの「集計シート」にセットしたいのですが、コードでの記述をご教授 頂けませんでしょうか。 Abookのイメージ    A      B ・・・・・・H  1 B1book.xlsx  A1・・・・・・A7  2         B1・・・・・・B7  3         C1・・・・・・C7  4 B2book.xlsx  A1・・・・・・A7  5         B1・・・・・・B7  6         C1・・・・・・C7  7 B3book.xlsx  A1・・・・・・A7  8         B1・・・・・・B7  9         C1・・・・・・C8 このようなイメージになります。 よろしくお願いします。

  • Excelシートを何も変えず他のBookへ移動

    タイトルのままなんですが、エクセルでシートを作り関数を組んで表を制作しました。このシートを他のファイルに関数を変えずにコピーしたいのですがどうすればいいでしょうか? シート1~シート3入力データ シート4でまとめ  のような構成です。シート4を他のbookに使いまわしたいのですが。 状況として、 現在のファイルを「bookA.xls」としコピー先を「bookB.xls」とします。 Aの方でシートのタイトルバー上で『シートの移動またわコピー』を使ってBにコピーをするとシートの中の関数に…[bookA.xls]…が関数に入ってしまいます。 自分としては完全にそのままコピーがしたいのですが… どうすればいいでしょうか?宜しくお願いします。

  • 参照先のブックを開かずに内容をコピーしたい

    エクセルのマクロ初心者です。 いつもここで他の方のQ&Aを参考にしたり、自分で質問したりしてお世話になっています。 今回は、参照先のブックを開かずにその内容をコピーする方法についてお聞きしたいです。 現在、下記のようなマクロを組んでいます。 Workbooks.Open FileName:="BookA.xls" Sheets("Sheet1").Activate Range("B4:H4").Copy Windows("BookB.xls").Activate Sheets("Sheet2").Select Range("B1").Select Sheets("Sheet2").Paste Workbooks("BookA").Close Windows("BookB").Activate つまり、BookAのセルの一部分をコピーしてBookBのセルに貼り付けるという内容なんですが、コピー参照先のBookAを一度開いてコピーしてからBookBに行って貼付け、さらにBookAを閉じた後でBookBに再び戻る、という動作になっているため、画面がパラパラと切り替わる時間があって少々うっとおしいのです。 BookAをいちいち開かずに内容をコピーする方法があると思うのですが、どのような構文を使えばいいでしょうか? ご回答よろしくお願いします。

  • Excel 他の複数ブック開くVBA 

    お世話になります。田中と申します。 以前も同じ質問させていただきましたが、複数のブックを自動で開いて閉じるVBAロジックをご教授いただきましたく思います。 Excel VBAを使って下記(1)、(2)の処理を実現したいと思っております。 どなたかVBAロジックをご教授いただけませんでしょうか。 (1)集計.xlsxというブックがあります。このブックに[ファイル]というシートがありまして A1のパス、B1にファイル名が記入されています。 この組み合わせのファイル数は可変ですが下記のように大体10個程度あります。 A2(パス)+B2(ファイル名) A3(パス)+B3(ファイル名) A4(パス)+B4(ファイル名) A5(パス)+B5(ファイル名) ・・・ (2)このシートに[開く]というボタンを配置して、クリックされたらA1(パス)+B1(ファイル名)でファイルを開いて何もしないですぐに閉じて、次のファイルを開いて閉じて、また次のファイルを開いて閉じて。。という動きをファイル数分繰り返したいのです。 どなたかご教授いただけますでしょうか。 よろしくお願い致します。

  • エクセルで2つのブックからの引用??

    ご存知方教えて下さい。 現在、エクセルで2つのシートがあります。(bookA、bookB) それぞれ異なるデータです。 (例え) bookA:Aさん、東京出身、23歳 bookB:Aさん、女性、独身 そこで「bookC」として bookC:Aさん、女性、東京出身 というデータを作りたいのですが、 bookA・Bのそれぞれから「Aさん」という共通項を元に データを引っ張ってくる事はできるのでしょうか? 数はAさんだけではなく、Bさん・Cさん・・・というように 数多くいますが、引っ張ってくるデータは一緒です。 下手な説明で申し訳ございません。 ご存知の方教えて下さい。 よろしくお願い致します。

  • エクセル、ブック間でのデータ読込

    教えてください。 Excel2010を使っています。  動作:閉じているブックからデータを読み出し、開いているブックに貼付けることです。  詳細:閉じているブック’2014_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215のデータを      開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35に貼付けをた      いのですが。      応用1.        閉じているブック’2014_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35        閉じているブック’2014_10月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B40~C55・D40~D55        閉じているブック’2014_11月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B60~C75・D60~D75        ・        ・        ・        閉じているブック’2015_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2015集計.xlsx、、シート’集計’、セル’B20~C35・D20~D35        それぞれのブックは事前に作成します。’2014_9月.xlsx’、’2014_10月.xlsx’、’2014_11        月.xlsx’、’2015_9月.xlsx’、’2014集計.xlsx、’2015集計.xlsx      応用2.        現状        閉じているブック’2014_9月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35        開いているブック’2014集計.xlsx、シート’集計’セルB19’年’、セルC19’月’を変更する        ことにより        変更        閉じているブック’2014_10月.xlsx’、シート’AAA’、セル’C200~D215・I200~I215         ↓        開いているブック’2014集計.xlsx、シート’集計’、セル’B20~C35・D20~D35        と言うことは可能でしょうか。 エクセルのマクロは初心者で苦労をしています、ご教授頂ければ幸いです。 よろしくお願いいたします。        

  • Excel セル参照で参照ブック指定

    指定したセルに拡張子を抜いたブック名を入力し、そのセルを参照してブック参照することは可能でしょか? 「INDIRECT」では参照ブックを開かないと表示されないため目的が達成されません。 (例) Book1.xlsx A1=test Book2.xlsx A1=Book1 A2=["&(A1)&".xlsx]Sheet1'!A1 何か良い解決策をご存知の方、ご教授願います。

  • EXCELのVBAについての質問です

    現在、2つのブックでVBAを使用して作業中ですが、 どうしてもうまく作動しない箇所があります。 BookAとBookBがあり、BookBにはtesというユーザーフォームを設置しています。 やりたい作業は以下の通りです。 BooKAからコマンドボタンを利用してBookBを開く。 BookBは開くとBookAを閉じる。testのユーザーフォームを開く。 BookAのコマンドボタンのコードは Private Sub CommandButton1_Click() Dim mypath As String mypath = ThisWorkbook.Path Workbooks.Open (mypath & "BookB.xlsm") End Sub BookBのOPENイベントに Private Sub Workbook_Open() Workbooks("BookA.xlsm").Close test.Show End Sub を入力しています。 これを実行すると エラーが発生せず、デバッグで1行ずつコードを確認すると test.Showが実行されずに closeで処理が終了されています。 ・ユーザーフォームのActiveイベントでclose処理を入れるとcloseが処理されずに モードレスでフォームを開くと、close後にフォームが閉じられてしまいます。 ・クッション用のブックを作成して、そこにBookAをclose処理とBooKBのOPEN処理を入れても closeで処理が終了されてしまいます。 エラーが出ると対応の使用があるのですが、エラーも無く静かに処理だけが終了してしまうため、 対応ができず困っています。 あちこち検索して調べてみましたが、いずれも当てはまらない状況です。 何かヒント等でもお持ちの方は、ご教授下さい。

  • SUMIF関数で複数のブックを参照する方法

    A列に1~20の数値がランダムに入っていて、B列~Z列はそれぞれ1~20に対する数値が入っています。 それを数値1項目のB~Zの各々の集計、同2のB~Z、と20までB~Zそれぞれの集計を出すブックを作成しています。 その関数自体はSUMIFでできるをことを教えていただいたのですが、 その集計は複数のブックにまたがっており、その全てからA列の数値を参照しなければならなくなりました。 ブック001のセル01、ブック002のセル01・・・ブック012のセル01、 同様にブック001のセル02、ブック002のセル02・・・ブック012のセル02、といった具合です。 関数で処理することはできるのでしょうか? よろしくお願いいたします。

専門家に質問してみよう