• ベストアンサー

Accessのクロス集計で任意期間を設定する方法

ACCESSでクロス集計ウィザードを使ってクロス集計を作るとき月の21日から翌月20日をひと月として12ヶ月分の集計はできますでしょうか?access初心者ですのでできれば細かく教えていただけると幸いです。

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

  • ベストアンサー
  • broken
  • ベストアンサー率33% (5/15)
回答No.1

元テーブルがどのように作られているか不明ですのでフィールドとして [日付]というフィールドの日付データがあると仮定して私ならこう作る思う方法を参考までに!! クロス集計のための月フィールドが必要となるので まずテーブルから「月を創出する選択クエリー」を作ります。 21日からは翌月となれば言いわけで元となる日付に11日を足すこととします。 日付2:IIf(Day([日付])>20,[日付]+11,[日付]) この日付2は、月を創出するためだけに利用するわけです。 月を得るには、 月:Month([日付2])となります。 1行にまとめてると 月:Month(IIf(Day([日付])>20,[日付]+11,[日付])) で21日以降は翌月と得られるはずです。 業務で使用する継続的データであれば年月で表示する必要があるので2フィールド要ります。 日付2:IIf(Day([日付])>20,[日付]+11,[日付]) 年月: IIf(Month([日付2])<10,(Year([日付2]) & "0" & Month([日付2])),(Year([日付2]) & Month([日付2]))) 結果 2002/1/21 → 200202 2002/2/20 → 200202 2002/2/21 → 200203 となるはず この「月を創出する選択クエリー」を元にクロス集計クエリーを作ればいいと思います。

masaoz_2000
質問者

お礼

Excelマクロや関数は良く使うのですがACCESSは初めてで全然分かりません。IIFはEXCELでいうところのifなのですね。クエリもウィザードじゃないとちょっとまだよくわからないので勉強して試してみます。有難うございました。

関連するQ&A

  • Accessのクエリをクロス集計ウィザードでの質問です。

    Accessのクエリでクロス集計クエリウィザードを使っているといつも、「Nullの使い方が不正です」というエラーメッセージが表示されてしまいます。 こういった場合、どういうところをチェックすればよいのでしょうか?さらにどのような設定にすればよいのでしょうか?教えてください!!お願いします。m(__)m(>_<)

  • アクセス クロス集計結果について

    クロス集計クエリを使っています、Offices Linkボタンを使った方法でクロス集計結果と同じデザインでEXCELに出せるのですが、VBAを使い、EXCELのファイル名を指定した方法で出す事は可能でしょうか?ご教授下さい。アクセス2003使用

  • Accessのクロス集計について

    お願いします アクセスで次のようなアンケートCSVをインポートして集計しています。質問1・2に入力されるのは選択肢番号です <アンケート結果テーブル> 名前   回答者 質問1  ========================== 20080710 Aさん   1   20080710 Bさん   2    20080710 Cさん   5    上記をクロス集計を行い日別の集計を行っております。 <クロス集計> 日付   1 2 5 =========================== 20080710 1 1 1  上記の結果を回答がなかった選択番号は下記のように0を表示させたいのですがどうすればよろしいでしょうか? 日付   1 2 3 4 5 =========================== 20080710 1 1 0 0 1 

  • ACCESSのクロス集計クエリについて

    ACCESS2000のクロス集計クエリで超初歩的な質問なのですが、、 こんなテーブルがあります。 メーカー  商品名 A社    テレビ B社    テレビ A社    ラジオ A社    テレビ これをACCESSのクロス集計クエリでこんな感じにしたいです。 メーカー  商品名   集計 A社    テレビ   2 A社    ラジオ   1 B社    テレビ   1 エクセルでは、行見出しに「メーカー」と「商品名」を入れて値に「メーカー」か「商品名」どちらかを入れれば希望通りの結果になるのですが、ACCESSのクロス集計では、列見出しに必ず入れないとエラーが出るようです。入れなくても良い方法かもっといい方法がありましたらご教授ください。   

  • Access クロス集計結果の空欄にゼロを入れたい

    Accessのクロス集計クエリの実行結果がNullの欄に 0(ゼロ)が入るようにしたいのですが、どうすればよいでしょうか? よろしくお願いします。

  • クロス集計 エクセル

    アクセスにはクエリにクロス集計がありますが エクセルにもクロス集計と言う機能があるのでしょうか? エクセル2010を持っています。 ピボットテーブルの事を クロス集計と呼ぶのでしょうか?

  • アクセス クロス集計結果の列を一部まとめたい

    MSアクセスのクロス集計クエリで質問です。 ある予算種別ごとに、月ごとにクロス集計を行っています。 添付画像のように3月以前のデータ(黄色部分)を集約して表示したいと考えています。 クエリプロパティの列見出しで、"2013/04","2013/05"・・・・と指定して、 データの無い月も表示できるようにしましたが、2013/03以前のデータを集約したいと考えています。 よろしくお願いいたします。

  • accessでクロス集計した結果を摘出する方法

    access2007を使っています。 ロータスアプローチからの乗り換えなのでかなり使い方が違い戸惑っています。 クエリよりクロス集計をし、その結果を他のクエリに反映させたいのですが、方法が判りません。 また、クロス集計以外で似たようなデータ摘出方法があれば教えてください。

  • クロス集計の値の表示(access)

    access2000でクロス集計を作成しましたが、値が空白の部分があり、CLng(値)で表示しようとするとエラーになります。下記の「Sum(マスター.金額)」の部分にCLngを付けるためにはどのようにしたらよいものでしょうか。 TRANSFORM Sum(マスター.金額) AS 金額の合計 SELECT マスター.収支区分, CLng(Sum(マスター.金額)) AS [合計金額] FROM マスター GROUP BY マスター.収支区分 PIVOT マスター.施設区分; #accessの初心者です。

  • クロス集計のスピードアップ

    Accessで数十万件のデータのクロス集計をおこなおうと思っているのですが1日程度時間がかかってしまいます。以下のプロセスでスピードアップが図れそうな事項がございましたらご教授ください。 -------------------------------------------- (1)テーブル「A」とテーブル「B」(両方とも数十万件)を「A」のIDをキーとして「B」のIDと紐付けし、テーブル「A」の全項目とテーブル「B」のある1項目をクエリを用いて出力します。 (2)(1)のクエリをテーブルに変換する。(←ここで非常に時間がかかってしまいます。) (3)(2)についてクロス集計を行う。 -------------------------------------------- (2)でテーブルに変換せずにクロス集計を行っても非常に時間がかかってしまいます。素人質問で大変恐縮ですが何とぞご教授ください。 よろしくお願いいたします。

専門家に質問してみよう