2/01/2018

Access。四半期ってどうやって求めたらいいの?【DatePart】

Access。四半期ってどうやって求めたらいいの?

<DatePart関数>

Accessのクエリで次のようなクエリを作っています。

デザインビューで確認しておきましょう。

年を抽出するには、Year関数を使うことで算出することができますよね。

データシートビューで確認してみると、

このように、年を抽出することが出来ました。

イメージとしては、ExcelとYEAR関数を使っているのと同じですね。
この年と同じように、月や日を抽出するには、

Month関数やDay関数を使ってあげることで、
抽出することが出来ますので、まずは確認してみましょう。

Excelと同様にAccessでも抽出することができましたが、
第何四半期ってどうやって抽出したらいいでしょうか?

Excelの場合だと、関数を使って一発で抽出することは出来ません。

抽出する場合には、
IF関数+AND関数+YEAR関数とCHOOSE関数を使うことでどうにか、
四半期を抽出することができます。

詳しくは、以前書いた記事をご確認ください。
Excel。日付から上期下期そして四半期も一気に入力できる方法
https://infoyandssblog.blogspot.jp/2016/06/excelquarter.html

しかし、なんとAccessは、一発で、
しかも簡単に抽出することが出来る関数があるのです。

それが、【DatePart関数】(デイトパート関数)です。

この関数は、すごく便利で、抽出する単位を変えることで、
様々なタイプで抽出することが出来るのです。

まずは、その抽出することが出来る種類をご紹介いたします。

フィールド名: DatePart("yyyy",[日付])
先程のYear関数と同様に抽出することが出来るのが、
この単位がyyyyで抽出できます。

フィールド名: DatePart("m",[日付])
単位をmとするだけで、先程のMonth関数と同様に、
月を抽出することが出来ます。

フィールド名: DatePart("d",[日付])
想像できたかと思いますが、単位をdにすれば、
先程のDay関数同様に、日を抽出することが出来ます。

これだったら、
Excelと同じ関数名で抽出することが出来るのだから、
DatePart関数は不要のように思えますが、
このDatePart関数は一味違う関数でして、

フィールド名: DatePart("y",[日付])
まぁ、なかなか使うことが無いとは思いますが、
単位をyにするだけで、
その年の元日1月1日からその日までの日数を抽出します。

フィールド名: DatePart("w",[日付])
単位をwにすることで抽出できるのは、
その日付が日曜日から数えた日数を抽出することが出来ます。
これもなかなか使う機会が無いかもしれませんね。

フィールド名: DatePart("ww",[日付])
単位がwwにすると、
その日付は年間で第何週にあるのかということを抽出してくれます。

ExcelのWEEKNUM関数と同じですね。

そして、お待たせしました。

フィールド名: DatePart("q",[日付])
単位をqにすることで、第何四半期なのかを抽出することが出来ます。

このqはQuarterですね。
Excelではあれだけ大変だったのが、
この一行だけで抽出することが出来るのです。

このように、DatePart関数を知っているだけで、
いろいろな関数を覚えなくてもよくなりますので、
Accessでの日付関係はDatePart関数を抑えて置くだけでも、
十分作業効率が改善できるのではないでしょうか?