現在、日報を作っています。メインのテーブル構造は、売上ID、売上日、売上額、来店客数、事業所ID(事業所名)などです。今回詳細のデータを入力したいと考えています。詳細データは2種類です。一つは商品別の売上数と売上金額、もう一つは、時間帯別の来店客数と売上額です。商品も売上時間帯も事業所によって、重複しているものと、重複していないものがあります。例えば、商品でいうと、A商品はA店舗とC店舗で取り扱いがあるが、他にはない等です。時間帯の集計方法も営業時間の違いで、1日2回の店舗もあれば1日3回の店舗もあります。更に商品で言うと期間限定商品などもあります。単純には商品テーブル、売上明細テーブルなどを作成し、サブシート(サブデータ)に商品や時間帯区分名などを一つ一つ選択して入力していけば、良いのですが、各店舗に見合った商品名や時間帯区分がフィールドのように表示されて、後は売上額や数量のみを入力するデータベースにするにはどうすればよいでしょうか?アクションクエリーやイベントプロシージャを使うしかないでしょうか?テーブル構造とクエリーの結合方法ではむりでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

補足見ました



やはり、文章だけで全部説明すること、理解することは、かなり難しいですね。

すでに運用されているようなので、根本からやりなおしなんてのは、ナンセンスですね。

という前提で・・・

>別のところでその商品と店舗の関係を入力
 集計時間帯も同様にしておいて、
現状手入力されている「商品ID」や「時間帯区分名」を、「店舗ID」から引いてきて、サブフォーム上に、プログラムで入力すれば、いいということですね。

「商品ID」や「時間帯区分名」をメンテナンスするフォーム追加と、上のような処理の改造が必要だと思います。

サブフォームへの具体的な操作は、Accessのサンプル「ノースウィンド」が参考になると思います。
    • good
    • 0

すいませんが、ご質問文が複雑で、何を質問したいのかが、理解しにくいです。



推定で書きますが
レコード毎に「サブデータ」のテーブル構造が違っていて、日報のときにムダな空欄が多くなる。
これをうまく安直に解決できないか?
と言うことなのではないのかな?

>アクションクエリーや・・(中略)・・・むりでしょうか?
これは、VBAも使えるが、できれば、クエリだけでやりたいということ?

おそらく、どのようにアプローチしても、店舗と取り扱い商品、店舗と時間帯集計方法の関係をどこかで入力しなくてはいけないことは、おわかりなんですよね。

>商品名や時間帯区分がフィールドのように表示
と言うのは、クロス集計のようなイメージでしょうか?

もしそうなら、商品テーブルにダミーで数値を入れておき、売上集計値テーブルとクロス集計を取りそれをサブフォームに利用すると言う手があります。
しかし、VBAを使ったほうがいくらか楽ではないかと思います。

いずれにせよ、
何らかの補足説明をするか、
もう少し問題を絞って質問されてはいかがでしょうか?

この回答への補足

わかりにくくて、すいません。独学でACCESSをやったもので、ごまかしながらもいつも作っているのですが、最近は入力を別の人間がするようになったので、より単純でミスの少ない形で、なおかつ入力の手間を出来るだけ省きたいのです。EXELの場合だと店舗を各シート毎に作成し、A列に日付(データ)を1行に合計売上額、合計客数、時間帯1、時間帯2・・・、A商品の個数、B商品の個数・・・とタイトルを入力し、実際のデータは、B2からB3・・・と入力していく。こんな表を作りたいのです。これをそのままインポートしてテーブルにすると、フィールド数が増えてしまうのと、おっしゃる通り、空白のセル(フィールド)ができてしまいます。今までの私のやり方だと、サブフォームに売上明細があり、そこに商品ID(名)を入力し、数量を入力する。メインフォームとサブフォームはメインフォームの売上IDでリンクし、事業所IDはマクロやVBで値の代入をすると言った形です。また同様に時間帯集計も行います。しかし、商品毎の売上の商品IDも、時間帯区分の時間帯区分名も予め決まっているので、それを入力(選択)する手間を省きたいのです。仮に新しい商品が増えたりしても、別のところでその商品と店舗の関係を入力すれば、データの入力欄ができると言った形です。またわかりにくいかも知れませんが、教えていただければ、幸いです。

補足日時:2001/12/16 03:06
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QマイクロソフトのOfficeについて

こんばんわ、はじめまして。

マイクロソフトオフィスを今購入するとして、
金額、方法は考慮せずに考えた場合、どれが良いと思われますか?
なお、Officeは所持しておらず、Microsoft Office(ワードとエクセル)
が欲しい状態です。

皆さんのご意見をお聞かせください。

・Office2003を手に入れる
・Office2007を手に入れる
・発売後にOffice2010を手に入れる

皆さんならどうするか、理由も教えていただきたいです。

Aベストアンサー

今日はIXTLさん、それは貴方のPC環境次第だと思いますよ。 office2010の米国発売は来年前半との事ですから、日本語版は来年後半以降でしょうね。(それに先ずはwindows7のみへの搭載のようですね)この条件に当てはまれば、office2010を薦めますね。(企業広告付きの条件ながら、無償バージョンもあるようですし、Web版もありそうですしね) 今、直ぐ使いたいって事でしたら、2007か2003でしょうが、これは貴方が今まで、officeの使用経験がどの位あるかによってどちらの方が使い易いか違ってきますね。2003以前の旧バージョンを長期間使用経験がある場合には2003の方が使い易いと思います。(2007からユーザインターフェースががらっと変わってしまい、慣れるまで一苦労ですよ。 でも、もう2003は殆ど販売してないと思いますし、将来のバージョンアップを考えたら2007の方がいいですかね。)それともopen officeっていう対応手段もありですかね。(word,exelならほぼ完璧にoffice互換性がありますよ。 私は1台だけは正規のofficeを入れてますが、他のPCは全てopen officeですよ)

今日はIXTLさん、それは貴方のPC環境次第だと思いますよ。 office2010の米国発売は来年前半との事ですから、日本語版は来年後半以降でしょうね。(それに先ずはwindows7のみへの搭載のようですね)この条件に当てはまれば、office2010を薦めますね。(企業広告付きの条件ながら、無償バージョンもあるようですし、Web版もありそうですしね) 今、直ぐ使いたいって事でしたら、2007か2003でしょうが、これは貴方が今まで、officeの使用経験がどの位あるかによってどちらの方が...続きを読む

Qエクセル ピボットテーブルで売上日、販売先、売上金額のデータがあった場合10万円以上のデータを抽出

例えば、エクセル ピボットテーブルで300件ほどの、「売上日、販売先、売上金額」のデータを扱っている場合に、この中から、売上金額10万円以上のデータを抽出する一般的な方法はありますでしょうか?

詳しい方がいましたら、ご回答、よろしくお願いします。

Aベストアンサー

ピボットテーブルでは、「売上日、販売先、売上金額」の仕分け条件に一致する金額が合計で集計されているはずです。
この合計値を10万円以上とするのであれば、金額表示範囲を指定して、「>=10万円」で検索すればよいと思います。

Qマイクロソフト Microsoft Officeのoutlookについて。

会社のパソコンなのですがoutlook2010に不具合が生じたので、アンインストールし
再度インストールしました。
しかし古いメールが表示されません。
会社には数台パソコンがあるのですが、ほかのパソコンは10年前のデータまで見れます。
何か設定をすれば良いのでしょうか?
古いメールの復活方法教えてください。

Aベストアンサー

データはまだPC内にあると思いますが、隠しフォルダの表示後 .pstファイルを探してみてください。
データの位置
http://office.microsoft.com/ja-jp/outlook-help/HP010354943.aspx
アンインストール前にファイルのエクスポート・バックアップすべき。

Qエクセルで予約リストから各店舗、各時間帯の予約数を算出したい

こんにちは。
宜しくお願いします。

複数店舗の予約がリストでエクスポートできるのですが
このリストの店舗名、予約時刻から各店舗の時間帯ごとにある予約数を自動で算出できるでしょうか。

添付にあるようなリストです。

Aベストアンサー

リストには終了時刻のみですが、終了時刻のみで分類するとしてよろしいですね?
とりあえず終了時刻が11時以前をBF、11時をこえて18時以前をLunch、18時をこえているものをDinnerとします。
なお、24:00というのはリストに見えないので無いと仮定しています。
同様に7:00以前のものも無いと仮定しています。

SUMPRODUCTでも可能ですよ。
予約リストの店舗名がA2~A100
終了時刻がB2~B100
確認したい店舗名の入ってるセルがD2~D6
BFがE列、LunchがF列、DinnerがG列
とすると

E2=SUMPRODUCT(($A$2:$A$100=$D2)*1,($B$2:$B$100<=11/24)*1)
これで店名がD2に一致して11時以前の該当数が表示されると思います。
E3~6はこれをコピーしてください。

F2=SUMPRODUCT(($A$2:$A$100=$D2)*1,($B$2:$B$100>11/24)*1,($B$2:$B$100<=18/24)*1)
これで店名がD2に一致して11時をこえて18時以前の該当数が表示されると思います。
F3~6はこれをコピーしてください。

G2=SUMPRODUCT(($A$2:$A$100=$D2)*1,($B$2:$B$100>18/24)*1)
これで店名がD2に一致して18時をこえたものの該当数が表示されると思います。
G3~6はこれをコピーしてください。

いかがでしょう?

リストには終了時刻のみですが、終了時刻のみで分類するとしてよろしいですね?
とりあえず終了時刻が11時以前をBF、11時をこえて18時以前をLunch、18時をこえているものをDinnerとします。
なお、24:00というのはリストに見えないので無いと仮定しています。
同様に7:00以前のものも無いと仮定しています。

SUMPRODUCTでも可能ですよ。
予約リストの店舗名がA2~A100
終了時刻がB2~B100
確認したい店舗名の入ってるセルがD2~D6
BFがE列、LunchがF列、DinnerがG列
とすると

E2=SUMPRODUCT(($A$2:$A$100=$D2)*1,...続きを読む

Qマイクロソフト Office のバージョンアップについて

家のパソコンにオフィス2000のソフトが入っているのですが、そろそろ2003にアップグレードしたいのですが、前の2000のパッケージがどこかにしまって手元に無い状態です。

マイクロソフト Office 2003 Professional バージョンアップ版を使ってアップグレードしたいのですが、手元にインストールしたCDがないとアップグレード版は、使えないのですか。

ちなみにパソコンにオフィス2000はインストールしてありますので、後はプロダクトIDとユーザー名を入れればよいので、できると思うのですが。

インストール済みなので、多分大丈夫だと思うのですが、どうですか。

あと、マイクロソフト Office 2003 Professional バージョンアップ版とマイクロソフト Office 2003 Pro VUG の違いはなんですか。

マイクロソフト Office 2003 Pro VUG の方が安いので、同じならばこちらを買おうと思うのですが。

Aベストアンサー

オフィス2000がインストールされたPCにOffice 2003 Professional バージョンアップ版のインストールはそのままの状態でインストールでき、2000のCDは必要ありません。その後2003をアンインストールしてから再インストールするときに、2000のCDを要求されます。後のご質問はすみません分かりません。

QEXCELで各店舗の売上データをまとめたい

当方、EXCEL2010を使用しています。

添付画像にありますように、各店舗のデータのシートから別シートに
売上数量のある店舗のみ、売上商品の明細をまとめた形で表示したいと思います。
EXCELの関数、あるいは機能を使って表示することは可能でしょうか?

補足としまして、売上数量のない店舗の表示はあってもかまいません。
あと、出来れば得意先コードの横に店舗名も入れることが出来るのであればその方法もご伝授いただければ幸いです。

以上です。よろしくお願い致します。

Aベストアンサー

Excel2003での検討結果です。
ワークシート関数のみを使用する方法でやってみました。

各店舗のデータのあるシートはシート名"各店舗"としました。
売上商品の明細の表のシートの名前は特に指定はありません。
各店舗の表も売上商品の明細の表もセルA3から右下方向にあるものとしました。
つまり、各店舗のデータはA6以下、売上商品の明細のデータはA4以下となります。

売上商品の明細の表はA~Eの5列ですが、他に3列の作業領域が必要なので、F~Hを割り当てることにします。
また、得意先コード検索用に2行5列(店舗数が4の場合)の作業領域が必要なので、売上商品の明細のシートのJ3:N4を使用することにします。

まず、得意先コード検索用の作業領域のJ3:N4です。
J3 0
K3 =COUNTIF(各店舗!$D6:D9999,">0")
L3~N3 K3をオートフィル
J4~N4 0~4の連番

次に、売上商品の明細の表の数式です。
A4~H4の数式を示しますので、必要なだけ行方向にオートフィル(コピー)してください。
また、H4の数式は配列数式にしなければならないので、確定の際にはCtrl+Shift+Enterを使うようご注意ください。(数式が{}で囲われて表示されます)
F4の式の中の$N$4のNは、上記の作業
(A4~G4の数式は通常通りEnterやTabでよい)
A4 =OFFSET(各店舗!$D$3,,F4)
B4 =OFFSET(各店舗!$A$6,$H4-1,)
C4 =OFFSET(各店舗!$B$6,$H4-1,)
D4 =OFFSET(各店舗!$D$6,$H4-1,$F4)
E4 =OFFSET(各店舗!$C$6,$H4-1,)
F4 =HLOOKUP(ROWS(F$4:F4)-1,$J$3:$N$4,2,TRUE)
G4 =IF(COUNTIF(F$4:F4,F4)-1>0,H3,0)
H4 =MATCH(1,SIGN(OFFSET(各店舗!$D$6,G4,F4,ROWS(各店舗!$D$6:$D$10000)-G4,1)),0)+G4
繰り返しになりますがH4は配列数式にする必要がありますのでご注意下さい。

数式の上では商品データは一応9999行まで入力できることになっていますが、そこまで商品が増える前に処理速度が遅くなって使い物にならなくなると思います。
その場合は、上記の数式はやめて売上商品の明細の表を作るマクロを作成して利用すればよいでしょう。

Excel2003での検討結果です。
ワークシート関数のみを使用する方法でやってみました。

各店舗のデータのあるシートはシート名"各店舗"としました。
売上商品の明細の表のシートの名前は特に指定はありません。
各店舗の表も売上商品の明細の表もセルA3から右下方向にあるものとしました。
つまり、各店舗のデータはA6以下、売上商品の明細のデータはA4以下となります。

売上商品の明細の表はA~Eの5列ですが、他に3列の作業領域が必要なので、F~Hを割り当てることにします。
また、得意先コード検索用に2行5...続きを読む

QマイクロソフトOffice2003がインストールしてあったパソコンが壊

マイクロソフトOffice2003がインストールしてあったパソコンが壊れたので、新しいパソコンを購入してインストールを考えています。許諾が必要とマイクロソフトのホームページに書かれていたのですが、新しいパソコンでの使用方法がありましたら教えてほしいです。

Aベストアンサー

プレインストールされたOfficeを他のPCに転用することの可否は賛否両論あります。
ソフトウェア使用許諾契約は利用者と提供者の間で結ばれるもので第三者が云々すべきことではありません。
従って、質問者とマイクロソフトの間で確認すべきことです。
考え方としてはOEM版の価格と直接関係がなく契約書の文言をどのように解釈するかだけです。
同じ文言でも読む人によって微妙に異なる部分がありますので、当事者間で確認すべき事柄になります。(提供者側の担当者も画一的ではないと思います)

Qよろしくお願いします。Excelグラフ作成なのですが、例えば 店 売上店舗数 A 60 10 A 7

よろしくお願いします。Excelグラフ作成なのですが、例えば
店 売上店舗数
A 60 10
A 70 20
A 50 25
B 60 30
B 90 50
B 80 40
この 3つのデータを使い折れ線グラフを作りたいのです。
縦軸が、、店舗数
横軸が、、売上
折れ線(凡例)が、、店名
でやりたかったのですが、凡例と横軸が、反対になってしまいます。どのようにすればいいでしょうか?よろしくお願いします。

Aベストアンサー

グラフのデータの範囲を変更すれば直せるかと。
今選ばれているセルは色の着いた枠で表示されると思います。
範囲を移動・変更できるので、表示させたいデータのあるセルに移動させましょう。

QXPのサービスパックにマイクロソフトOffice Personal 2007アップグレード版は入りますか。

XPのサービスパックにマイクロソフトOffice Personal 2007アップグレード版は入りますか。
買っても合わないということもあると聞いたものですから。
パソコンメーカーに問い合わせましたが、マイクロソフトに聞いてくださいということでした。
ネットで探してみましたが、どこに質問していいか解りませんでした。
よろしくお願いします。

Aベストアンサー

>XPのサービスパックに
これの意味がわかりませんが、現在使用しているPCにOffice XPもしくはOffice 2003が入っていてOffice Personal 2007アップグレード版を購入して
インストールしたいという事なら大丈夫です。
ただしXPならSP2以上が条件です。
もし現在のPCにOfficeが入っておらずOffice Personal 2007アップグレード版を新たに入れたいというならだめです。
この場合は通常のパッケージ版を購入しましょう。

QEXCELピボットテーブルでの区分を可変させたい

A列 B列
4 7
2 5
4  0
8 -8
5 3
1 2
8  4
2 -3
6  0


上記のようなデータでA列を1~3、4~6のようにグループ分けして、ピボットテーブルで下記のような和や平均を求めたりします。

1~3  5+2+(-3)=4
4~6  7+0+3+0=7
7~10  (-8)+4=-4

そしてグループ分けをいろいろ変えたいのです。

1~5  7+5+0+3+2+(-3)=14
6~10  (-8)+4+0=-4

区分を変える手軽な方法はないですか? 

Aベストアンサー

ピボットテーブルを作る。その後
シートにコマンドボタンを1つ貼りつけます。ダブルクリックすると、VBE画面に飛び
Private Sub CommandButton1_Click()

End Sub
が出ます。
Private Sub CommandButton1_Click()
Range("A4").Select
Selection.Group Start:=Range("j1"), End:=Range("j2"), By:=Range("j3")
End Sub
のようにします。
どこでも良いがデータの邪魔にならない列、例えばJ列に
J1始めの値
J2終りの値
J3飛び飛びにする値。ステップ値。
の数値を入れます。
(例えば初め1、終り10、ステップ3とすると1、1-3、4-6、7-10の区分けになります。)
これらはその都度いれる。
そしてデザインモードを脱して、ボタンをクリックすれば
即座に色々な区分けに出来る。


人気Q&Aランキング

おすすめ情報