• ベストアンサー

エクセルの表から特定のデータのみを別のエクセルの表に出したいのですが

表1には売上金額が日付入りで顧客毎に記載されてます。 これを合計金額として表2に出したいのですが条件があります。 その条件が ・顧客毎の合計 ・今月以前は合計に含まない ・表1は日々更新される これを更新入力は手作業で行いますが、そうすると同時に上記の条件を満たし自動的に表示されるようにしたいのですがどうすればいいか教えてください。

  • 12113
  • お礼率80% (4/5)

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

表1を提示していただけないと具体的な回答は難しいと想います。 ピボットテーブルは試して見られましたか。 表1  A   B   C 日付 顧客名 金額 ・・・とあるならば 表1  A   B   C  D 作業列 日付 顧客名 金額 と1行列を挿入して、A列に =TEXT(B2,"yymm") と入れて下までコピィしておけば 年と月が表示されますので、ツールバーのデータ=>ピボットテーブルと・・・ のウィザードからご希望の表が出来ると想います。

12113
質問者

お礼

回答ありがとうございます! 何とかできました!!

その他の回答 (1)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.2

気軽に着手して、はまってしまいました。もっと簡単な解があると思いますが、ご参考まで。 Accessで試してから、ADOに載せ替えたのですが、こんなサブクエリを使わないと本当に出来ないのか、質問したいところです。 元データ 売上げ履歴.xlsのSheet1 ......................A...............B...............C ..1................日付.........顧客.....売上げ ..2.....2008/10/22...............a................1 ..3.....2008/10/23...............a...............2 ..4.....2008/10/24...............b...............3 ..5.....2008/10/25...............c...............4 ..6......2008/11/26...............a............100 ..7......2008/11/27...............b...........200 ..8......2008/11/28...............a...........300 ..9......2008/11/29...............c...........400 10......2008/11/30...............b...........500 実行結果 ...............A....................B ..1...............a................400 ..2...............b................700 ..3...............c................400 Sub test() Dim CN As Object, RS As Object Dim mySQL As String Const adOpenStatic As Long = 3 Const adLockReadOnly As Long = 1 On Error GoTo errorHandle Set CN = CreateObject("ADODB.Connection") Set RS = CreateObject("ADODB.Recordset") CN.Provider = "Microsoft.Jet.OLEDB.4.0" CN.Properties("Extended Properties") = "Excel 8.0" CN.Open "C:\Documents and Settings\?????\My Documents\売上げ履歴.xls" mySQL = "SELECT Alias.顧客,Sum([Sheet1$].売上げ) FROM ((select 顧客,日付,売上げ from [Sheet1$] where 日付>=datevalue(Format(Now(),'yyyy/mm') & '/01')) as Alias) GROUP BY Alias.顧客;" RS.Open mySQL, CN, adOpenStatic, adLockReadOnly Range("a1").CopyFromRecordset RS Set RS = Nothing Set CN = Nothing Exit Sub errorHandle: MsgBox "接続に失敗しました", vbCritical Set CN = Nothing End Sub 同じブック内でのADO接続はトラブルがあると聞いているので、別ブックにしてあります。集計先のブックがアクティブになった時に実行されるイベントマクロにでも組み込んでおけば、使いたい時には最新化されるでしょう。(当方xl2000です)

12113
質問者

お礼

回答ありがとうございます! 結構難しい問題でしたね… 早速こちらでも試して見ます!!

関連するQ&A

  • エクセルで売り上げ表を作成したいのですが…

    エクセル98を使用しています。 月毎の売り上げ表を作成したいと思っています。 あるシート(以降、Aシート)にその月の売り上げ表を作成して、別のシート(以降、Bシート)に月毎の売り上げの履歴を残す事ができたら良いと思っています。 あらかじめ締め日を決めておき、その締め日が過ぎるとAシートの売り上げ表に記載されていた数字はクリアされると同時に、Bシートに売り上げの履歴を残すようにしたいです。 毎月設定しておいた日付けが過ぎると、シートに入力されていた数字を自動にクリアさせる方法はあるのでしょうか? また同じく、毎月設定しておいた日付けが過ぎると、その月毎の売り上げを別のシートに残すような作業はできますのでしょうか? 時間に合わせて、処理を行うといった感じになります。 時間に合わせて、入力されたデータをクリアにする。また別のシートに記録を残す良い方法がありましたら、アドバイスをお願い致します。

  • エクセルにて、ある表を別の表に転記したい

    エクセルに係る質問です。 2種類のエクセル表(表1と表2)があります。2つの表とも、担当者ごとの売上高を取引先別、販売ルート別、商品別に記入するための表ですが、表1はマスターの表と呼ばれ、全担当者ごとの全ての取引先ごとの、全ての販売ルートごとの、全ての商品ごとに売上高を記入できるセルが設けられた表で、一方、表2は毎月ごとの実績表と呼ばれ、実際に売上があった商品のみにつき、その売上高がどの担当者のどの取引先のどの販売ルートのどの商品を販売することで発生したかが分かる表となっています。(つまり、売上があった商品しかセルが設けられていません) ここで質問ですが、表2の内容を表1に自動的に転記するような方法は何かないでしょうか? (会社には販売管理ソフトがパソコンに入っていて、各営業担当者は毎日の売上高をそこに入力しています。このソフトにより毎月の担当者ごとの売上高をエクセルで出力することができるのですが(これが表2ですが、表2は自動的に作成されます)、この表2の結果を表1に転記する必要があるのです。 表1に転記する目的は毎月の結果を半年毎、1年毎に累計するためです。  営業担当者は100名近くおり、この作業を手作業で行うことは非常に困難です。 何とか自動的にこの転記が出来る方法(エクセル上で自動転記が出来る関数があるか? または、別のオフィースアプリと連携して出来ないか? または、別途ソフトを購入して出来ないか? 等々色々な可能性を探しています。) エクセルに強い方がいらっしゃったら是非アドバイスをよろしくお願い致します。

  • エクセル2007 シートとグラフを連動させるには

    エクセル2007 シートとグラフを連動させるには A列(売上)-B列(コスト)=C列(売上総利益)という表を作り、それを縦軸金額横軸日付という折れ線グラフにしたのですが(つまりC列=売上総利益の折れ線グラフ)、日々シートにデータを入力するとそれに応じてグラフも自動的に更新?されるようにするにはどうすればよいのでしょうか?

  • エクセル行の自動挿入

    エクセルで行の自動挿入の方法を教えてください。 例えば、売上表を作成します。(下記のような)  工事日  顧客名  現場名  作業内容 受注金額 3月1日  ○Δ建築  ×■邸   ■   100,000 3月2日  ×■塗装  ●△邸   ▽    120,000 3月3日  □×建設  ▽○邸   ●    280,000     ↓      ↓      ↓     ↓     ↓ という表で、月によって60行の時もあれば20行という月もあります。 そして入力最終行に 受注金額の合計を出したいのです。 しかも、顧客名、作業内容はリスト入力になってます。 また、罫線も自動的に追加されるようになってます。 マクロは苦手なんですが、ご指導お願いします。 似たような、ご質問もありましたが、お願いします。

  • エクセル SUMIFSの条件について、

    D1:D20に金額、E1:E20に日付の表があり、A1の日付(8/1)の1ヶ月後までの分の合計をとりたいのですが、現在A2に"<2013/9/1"と入力しSUMIFSの条件をA2として計算させています。 この条件をA1の日付から自動的にさせたいのですが、条件の書き方がわかりません。 どうかよろしくお願い致します。

  • EXCEL VBA 表の行列入れ替え

    お世話になります。 添付(1)のような表があります。 行に日付(可変)がきて、担当者毎の売上金額(日々)、売上金額(累計)がきます。 この表に対して「集計」というボタンをクリックしたら(2)のように行に担当者がきて列に日付がくるような表に変えたいのです。 このVBAのロジックを、どなたかご教授いただけませんでしょうか? お忙しいところ恐れ入りますがよろしくお願い致します。 環境 Excle2013 Windows7

  • 請求書のデータを4形式のエクセルの表に上手に反映させるには?

    XPを使用しています。Officeは2003です。 請求書をエクセルで作成し、その取引先別の売り上げを 月間の売り上げ表 年間の売り上げ表 部署別の売上表 部署別の収支表の それぞれ4度入力しています。 そもそもそんなに種類が必要なのか?という疑問もあるのですが、それぞれの担当者が必要というので・・・そこは削れません・・・。 請求書の表記の仕方は取引先によって異なってくるので、せめて、月ごとの売上表を作成したら、年間、部署別の売上表に反映できるように出来ないかと考えています。 月間の売上表には「取引先名」「作業料」「運賃」「資材」「小計」「消費税」「合計」を入力しています。 年間の売上表で必要なデータは「取引先名」「合計」 部署別の売上表で必要なデータは「取引先名」「合計」 部署別の収支表で必要なデータは「取引先名」「作業料」 でそれぞれ表の形式が決まっています。 ものすごく漠然とした質問で申し訳ないのですが、何かよい方法はないものでしょうか?? アクセスを使えば何とかなりますでしょうか?? アクセスに関しては今勉強を始めたところなので、アクセスで可能なのか、何が必要なのか教えていただければそこを中心に勉強したいと思います。 よろしくお願い致します。

  • EXCEL 別BOOKへのデータ連動について

    2つのBOOKの連動の仕方について教えてください。 EXCEL2003を使用しています。 〔売上〕BOOK 〔1月〕 sheet    A店                         B店    売上 累計売上 昨年売上 昨年累計   1日  500    500     700      700 2日  600    1,100    800      1,500 3日 で入力した金額を 〔合計表〕BOOK 〔1月合計〕 sheet    1日売上 累計売上 昨年売上 昨年累計 A店   500    500      700   700 B店 C店     2日売上 累計売上 昨年売上 昨年累計 A店  B店 C店 のBOOKに連動させたいです。 それぞれのBOOKに、12ヶ月間のシートがあり、店は10店舗ほどあります。 〔合計表〕のほうに =SUM('[売上.xls]1月'!$B$4)と入力してみましたが、 2月になったときに1月の部分をすべて直していくのは時間がかかります。 どのようにするのがベストでしょうか?

  • エクセル教えてください(表の集計)

    添付写真のような表があります。 この表を集計したいのです。 上の表を入力すると、別の集計欄に自動的に山田さんの合計金額、佐藤さんの合計金額・・・が表示されるようにしたいです。(名前と合計金額が出ればOKです) 可能でしょうか? 数式は初心者に毛が生えた程度の知識しかありません。 わかりやすくご教示願います。

  • Excelでの集計表の作り方

    Excelで1ヶ月の集計表を作っていますがどうしてもわからない事があります。まず縦に1ヶ月分の日付を入れて横に純売上(B列)と消費税(C列)と総売上(D列)の表を作りました。日付は月を入力すると自動で変わる様にして月末も30日までの月は最後のセルも空白になる様に、土日祝は曜日の文字の色も変わります。その後が問題なんですが、曜日毎の集計を自動計算するだけならSUMIF関数ですぐに出来るんですが日祝の合計を1つのセルに集計させたいんです。月によって祝日の曜日も変わりますしどうしてもその方法がわかりません。説明が下手で申し訳ありませんがわかる方がいればお願いします。

専門家に質問してみよう