以下のような内容(ACCESSとEXCELを使用)を勉強できるサイトを教えてください。



1.売上データより、対象となる日付のデータを抽出(現在、ACCESSのクエリで抽出)
2.抽出したデータを、EXCELでピボットテーブルにする(ACCESSより、EXCELファイルへの書き出しを行っています)
3.ピボットテーブルを手動で加工し、別のEXCELファイルに手動で転記する。

1の補足:
対象とする日付のDB上フォーマットは、yyyy/mm/dd (text型)。
対象となる日付は、「処理当日」又は「ある日付より先の全ての日付」。


行いたいこと:
1について~現状では、毎日パラメータをクエリに手入力。
2について~EXCELファイルへの書き出しも、ピボットテーブル化も手動。
なので、少しでも自動化したいのです。


私の都合で恐縮なのですが、上記内容について勉強ができるサイトをご存じでしたら、お教えください。
サイトをご存じでない場合、為になりそうなTipsをお聞かせください。
ご不明な点がございましたら、コメント欄でご指示くださいませ。

回答の条件
  • 1人3回まで
  • 登録:2007/08/14 20:54:43
  • 終了:2007/08/21 20:35:11

ベストアンサー

id:granatum No.3

granatum回答回数10ベストアンサー獲得回数32007/08/20 02:18:39

ポイント100pt

パラメータクエリはピボットテーブルのデータソースとしては、選択できないみたいですね。

では、パラメータクエリをテーブル作成クエリも兼ねたものに変更し、

動的に作成されるテーブルに対し、Excelが取得に行ってはいかがですか?

http://makotowatana.ld.infoseek.co.jp/access/achowCreateNewTable...

また、Excel上の加工が必要であれば、

ピボットテーブルとして取得するのでなく、一度外部データクエリ機能からAccessのテーブルとリンクを貼り、

取得したデータをデータソースとしてピボットテーブルを展開するのも一手かと。

この場合、Excel側の抽出クエリにパラメータの設定が可能です。

http://www11.plala.or.jp/koma_Excel/contents6/mame6041/mame60410...

id:taisin0212

granatum様、ありがとうございます。

後者のリンク先、役立ちそうです。

(サイト全体に、役立ちそうな目次がありますね)

2007/08/20 09:47:42

その他の回答(2件)

id:airplant No.1

airplant回答回数220ベストアンサー獲得回数492007/08/17 20:37:00

ポイント100pt

途中データや最終データがExcelのようですので、最初からExcelに仕組みを作ってはどうでしょうか?


Excelの中からAccessのデータをそのまま持ってこれますので、後は自由に加工できます。

(途中でExcelが入っていますので、255列×65536行以内のデータですよね?)


例えば、下記のサイトでも解説してあります。

http://www.atmarkit.co.jp/fwin2k/win2ktips/296exceldb/exceldb.ht...


P.S. ポイントは不要です。

id:taisin0212

airplant様、ありがとうございます。

ご紹介いただいたサイト、解り易いです。


EXCEL2007がおかしいのか、私の操作が悪いのか、

私が使いたいパラメータクエリが選択できない状態です。

勉強いたします!

2007/08/17 21:36:39
id:granatum No.2

granatum回答回数10ベストアンサー獲得回数32007/08/19 04:58:11

ポイント100pt

1さんの言うとおり、Excel上でピボットテーブルを作成し、データソースにAccessを指定する方法がよいかと。

日付はピボット上でフィルタを掛けるか、Access側でフィルタを掛けるか分かれると思います。

下記が参考になると思います。

http://www.microsoft.com/japan/office/previous/xp/suminaka/acces...

どこまでの自動化を望んでいるのかわかりませんが、

VBAまたはVBScriptを使えば、ほぼ自動化が可能なはずです。

id:taisin0212

granatum様、ありがとうございます。

マイクロソフトも随分わかりやすいサイトを作られているのに、びっくりしました。

(失礼な発言になってしまい、申し訳ございません)


EXCELにおけるデータ接続ウィザードにおいて、

パラメータクエリが選択できずにおります。

日付に対するフィルタリングをどうするか、

また、その他EXCEL上で行っている加工をどうするのか、

検討いたします。

2007/08/19 21:33:32
id:granatum No.3

granatum回答回数10ベストアンサー獲得回数32007/08/20 02:18:39ここでベストアンサー

ポイント100pt

パラメータクエリはピボットテーブルのデータソースとしては、選択できないみたいですね。

では、パラメータクエリをテーブル作成クエリも兼ねたものに変更し、

動的に作成されるテーブルに対し、Excelが取得に行ってはいかがですか?

http://makotowatana.ld.infoseek.co.jp/access/achowCreateNewTable...

また、Excel上の加工が必要であれば、

ピボットテーブルとして取得するのでなく、一度外部データクエリ機能からAccessのテーブルとリンクを貼り、

取得したデータをデータソースとしてピボットテーブルを展開するのも一手かと。

この場合、Excel側の抽出クエリにパラメータの設定が可能です。

http://www11.plala.or.jp/koma_Excel/contents6/mame6041/mame60410...

id:taisin0212

granatum様、ありがとうございます。

後者のリンク先、役立ちそうです。

(サイト全体に、役立ちそうな目次がありますね)

2007/08/20 09:47:42
  • id:KUROX
    確かに、自動化したいところですよね。
  • id:taisin0212
    申し訳ございません。環境を記述しておりませんでした。
    WinXP上で、ACCESS2000とEXCEL2007を使っております。
    ACCESS2000で出力したEXCELデータを
    EXCEL2007データに変換した後に、ピボットテーブルを使っております。
  • id:kn1967
    回答に書くべきか悩んだのですがコメントで・・・

    ピボットグラフではなくてピボットテーブルで良いのなら、
    Accessにもクロス集計クエリ(=ピボット)というものがありますので
    抽出に使っているクエリをデータソースとしてクロス集計クエリをつくっておけば良いでしょう。

    クエリの結果はデータシートビューの形で出力されますから、
    それをを全て選択してコピー
    Excelに貼り付けるという作業だけを手で行えば済むようになりますので
    質問文にあります手順の2と3の途中までは行わなくても良くなります。

    完全自動化は便利ではありますが、それを作成する事はもちろんの事
    維持管理していくことにも慣れるまでに相当の時間がかかりますので
    まずは楽できる部分から楽にしていくことを考えて、あとは徐々に考えていってください。
  • id:kn1967
    追記:
    Access上でコピーしてExcel上に貼り付けという作業はドラッグ&ドロップでも可能です。
    (逆も可能)
  • id:kaiton
    まだ、パラメータクエリーにされていないなら
    http://www.sk-access.com/Syo_Query/SqA009_Parameter.html
    http://www.relief.jp/itnote/archives/000183.php
    http://www.relief.jp/itnote/archives/000227.php
    質問の内容から、あとは...
    マクロでクエリーの結果をエクセルにエクスポート、またはクエリーからエクセルにコピーして、エクセルの操作はキー記録で...
    記録された内容を、修正するのがいいような気がします。
    詳しい(ピボットの集計方法)情報があると、もっと詰められると思いますが..
    もし、今後の要件が変わるようなことがあるなら、引き継ぎ等を考慮して、多少手作業は残ってもしょうがないのかなと思います。

    蛇足
    >yyyy/mm/dd (text型)
    は日付・時刻型のほうが良いとは思うのですが...
  • id:taisin0212
    kn1967様、ありがとうございます。
    「クロス集計クエリ」という言葉は、何かの折に見かけてはいたのですが、
    ヘルプ等で確認もせず、そのままにしておりました。
    ネット上でも大分取り上げられているようなので、勉強致します。

    お恥ずかしいのですが、ピボットによる結果をそのまま使っておりません。
    基データへの認識不足&クエリの組み方がヘボ
    というのが要因なのでしょうが、ピボットに対して目検を行い、
    EXCELデータの修正を行う場合が、数日に一度あります。
  • id:taisin0212
    kaiton様、ありがとうございます。お返事が遅くなり申し訳ございません。
    ご紹介いただいた頁内で広告掲載されていた書籍を注文いたしました。(秀和システム刊)

    パラメータクエリで、
    ="2007/08/15"、又は、>"2007/08/15"のような可変性を
    持たせられたかどうか自信がなかったので、設定しておりませんでした。


    使っているピボットは、
    ページフィルタに、[区分A][区分B]の2つがあります。
    集計内容は、業者別支店別の人数・金額の和を、各日付ごとにとっております。
  • id:kn1967
    >ピボットによる結果をそのまま使っておりません。
    >ピボットに対して目検を行い、
    >EXCELデータの修正を行う場合が、数日に一度あります。

    まずはデータの整理(Accessのテーブルの正規化)が必要ですね。
    正規化が進んでいれば、集計はそれほど苦にはならないですし
    (クロス集計はウィザードに従えば良いです)
    あとから手作業で調整なんて事も不要になります。

    Accessを身に付けるステップとしては
    (1)テーブルの正規化
      Accessに限ったものではなくデータベース全般の基本です。
    (2)Accessの基本操作
    (3)クエリによるデータベース操作
      SQLの理解
    (4)操作の自動化
      マクロ
    (5)Accessの制御
      AccessVBA(VisualBasic for Application)
    といったようなステップになります。
    さらにExcel側でも
    (1)Excelの基本操作
    (2)操作の自動化
      マクロ=ExcelVBA(VisualBasic for Application)
    が必要になります。
    ※Excelではマクロ=VBAですがAccessではマクロとVBAは別物として存在してます。
    さらにこれらを連携させる場合は・・・
    まだまだステップはありますので一朝一夕に出来るものでもないです。

    で、、、話は戻りますが元のデータの整理を今のうちに行っておく事をお勧めします。
    そうすれば手作業による修正が不要になりますので後々の作業が楽になりますよね。

    なんか、コメント欄で一段落つきそうな感じになってきてますね。
  • id:taisin0212
    kn1967様、ありがとうございます。
    差しさわりなければ、回答欄も使ってください。
  • id:taisin0212
    1歩前進しました。
    >1の補足:
    >対象とする日付のDB上フォーマットは、yyyy/mm/dd (text型)。
    >対象となる日付は、「処理当日」又は「ある日付より先の全ての日付」。
    については、パラメータクエリによって解決いたしました。
    ありがとうございます。

    現状報告:
    パラメータクエリで抽出したデータをEXCELファイルで書き出すところまでは、
    ACCESS内のマクロとして登録いたしました。
  • id:airplant
    途中データや最終データがExcelのようですので、最初からExcelに仕組みを作ってはどうでしょうか?


    Excelの中からAccessのデータをそのまま持ってこれますので、後は自由に加工できます。
    (途中でExcelが入っていますので、255列×65536行以内のデータですよね?)


    例えば、下記のサイトでも解説してあります。
    http://www.atmarkit.co.jp/fwin2k/win2ktips/296exceldb/exceldb.html

    P.S. コメント欄でのやり取りのようなので、倣ってコメント欄に記載しました。
  • id:taisin0212
    airplant様、ありがとうございます。
    ご紹介いただいたリンク先は、はてなブックマークに登録いたしました。

    是非、回答欄を使ってください。
  • id:taisin0212
    これまで色々と教えていただき、ありがとうございます。
    しかしながら、回答欄に頂けておりません。
    このまま7日間が過ぎ去ってしまい、質問キャンセル扱いとなってしまうと
    折角の情報が「はてな」上から消え去ってしまう恐れがございます。

    どうか、回答欄をお使いいただけますよう、お願い申し上げます。
  • id:airplant
    taisinさん

    うまくいかなかったとのこと。。。
    具体的に何がどううまく行かなかったかを記載してもらえれば、色々コメントがあると思います。
    Queryの種類によっては、Access側にQueryを作ったほうがいいケースもあると思います。
  • id:taisin0212
    kn1967様、kaiton様、
    airplant様、granatum様、
    この度はありがとうございます。

    皆様から色々なお話を聞かせていただき、
    ほんのチョットずつではありますが、
    従来の処理における手作業が減って参りました。
    この場をお借りして、お礼申し上げます。

    頂いた全ての回答・ご紹介いただいたサイト全てが、
    私にとって為になる内容でした。
    まだまだ知らないサイトが数多くあることを実感すると共に、
    奥深い世界であることを再認識いたしました。

    「いるか」につきましても、全ての回答で受け取って頂きたいのですが、
    人力検索の仕組み上、叶わない願いであること、ご承知おき下さいませ。
    granatum様にご紹介いただいたリンク先の www11.plala.or.jp/koma_Excel
    における内容に非常に勇気づけられました。

    ありがとうございます。
    taisin0212
  • id:granatum
    taisin0212様

    ポイントといるかさん、ありがとうございました。
    大変恐縮なので、もう1サイトだけ紹介させてください。
    ご存知であれば申し訳ないですが、
    下記のサイトは、Office系のtipsや掲示板、スキルアップ講座が充実していますので、
    きっと参考になると思います。
    http://www.moug.net/index.htm
  • id:airplant
    taisin0212さんへ

    たくさんのポイント、ありがとうございました。
    (コメントの方、すみませんでした)
    楽になってきている様子ですね。
    機械ができることはどんどん機械にやらせたいですね。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません