世間では、何かと、ACCESSは敬遠されがちです。
Excelのほうがカンタンですが、ACCESSでも、同じことはできます。
VLOOKUP関数はできませんが、面白い事例を紹介します。
目次
Excelでできることは、ACCESSでもできる
こんにちは。伊川(@naonaoke)です。
今、キャバクラの給料明細を作成しています。
そこでなんですが、Excelの関数で実行できることは、ACCESSでもできます。
ここが重要です。
基本的に、ACCESSとExcelでは、データの並び自体が別だからです。
Excelに関しては、縦横無尽になんでもできます。
しかし、ACCESSは、基本的には、横並びです。
縦は、苦手なんです。
その苦手を、どの様にACCESSで克服するかを紹介します。
ACCESSとExcelの違いですが、Excelは、基本的に PowerQurey等を利用しないと、データを貼り足したときに、範囲を再設定しなければなりません。
ここが面倒です。
ここでも集計クエリが活躍します。
このブログはこんな人にお勧め
- ACCESSで会計システムを作成したい人
- ACCESSでクエリを勉強している人
- ACCESSのすごさを知らない人
このブログを、読み終わるころには・・・・
クエリで抽出するこが醍醐味なのです。
そのクエリを、理解することがポイントです。
抽出さえできれば、後は、Excelに任せて計算をしましょう。
サブクエリと集計クエリ
最近は、競馬のデータベースのみ、作成しているので、実務の技を忘れています。
特に、Excelの関数は言われると思いだしますが、悩むことが多いです。
現在、このようなデータベースがあるとします。
同一伝票ID、かつ、同一テーブル番号、かつ、同一日時
ドリンクの総代金
本指名の女の子で等分する
その等分した、代金を、I列に表示します。
多分、予備校では、絶対に教えてくれないでしょう。
サブクエリと集計クエリ 作業手順 その1 Excelで実行
こんな感じでしょうか?
しかし、これでは売り物にはなりません。
ここが、Excel関数とVBAの違いです。
VBAは売り物になります。
難易度は、それほど変わりません。
しかし、今回は、VBAは割愛します。
サブクエリと集計クエリ 作業手順 その2 Excel関数を、ACCESSで実行
Excelチックな考え方、つまり、Excelでは、
ドリンクの総代金 ⇒SUMIFS関数で実行
同一伝票ID、かつ、同一テーブル番号、かつ、同一日時⇒SUMIFS関数で実行
本指名の女の子で等分する⇒COUNTIFSIFS関数で実行
集計クエリで、売上の合計を作成します。
売上の合計を作成
本指名を抽出する
本指名をカウント
の辺で、Excelの考え方は終了です。
サブクエリと集計クエリ 作業手順 その3 グループ化する
グループ化をする場合は、リレーションです。
なんとなくそれっぽくなってきました。
最後に、仕上げがあります。
サブクエリと集計クエリ 作業手順 その4 ACCESSでもできた
こんな感じになりました。
サブクエリと集計クエリ 作業手順 その5 サブクエリで一発実行
すべてのクエリが無駄になりました。
こんなこともできるんですね。
ACCESSは。
VBAより感動です。
ここがポイント
![Function8.png](http://keiyu.xyz/wp-content/uploads/2019/10/102819_0637_Function8.png)
Index関数と、Match関数を組合わせて、作動したときは、感動しました。
クエリも組合わせることによって、無駄なクエリを、作成しなくてよくなります。
つまり、メンテナンスが楽になります。
サブクエリに関して、感動した1日でした。
まとめ
Excelと、ACCESSに関して、どちらが楽でしょう。
絶対にACCESSですよね。
今回も最後まで読んでいただきありがとうございました。
今回のサンプルファイルは、No296です。
![](http://keiyu.xyz/wp-content/uploads/2019/11/Sample-300x158.jpg)
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。