マイクロソフト アクセスでの件数カウントについて下記のようなクエリの結果についてカウントする事はできるでしょうか。品目A 4月販売 5月販売 6月販売 7月販売 8月販売 9月販売 #12345 3000 4000 1000 5000 0 3000「9月販売」のフィールドの右に2000以上の販売回数、その右のフィールドに2000未満の販売回数を表示させたいと考えております。※上記であれば2000以上フィールドに「4」、2000未満フィールドに「2」Count関数を使用するのではないかとは思いますがどのような式にすれば良いのか分かりません。ご教示頂きたく宜しくお願い致します。以上

1件の回答

回答を書く

1146209

2026-05-08 05:35

+ フォロー

こんな方法もあります。



まず、VBEを開いて標準モジュールを追加し、以下のコードを記述します。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

Public Function upCnt(ParamArray inD() As Variant) As Variant

Dim cntN As Integer, valN As Integer

valN = 0

For cntN = 0 To UBound(inD)

If inD(cntN) \u0026gt;= 2000 Then valN = valN + 1

Next

upCnt = valN

End Function



Public Function loCnt(ParamArray inD() As Variant) As Variant

Dim cntN As Integer, valN As Integer

valN = 0

For cntN = 0 To UBound(inD)

If inD(cntN) \u0026lt; 2000 Then valN = valN + 1

Next

loCnt = valN

End Function

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー



次にクエリでこの関数へ「4月販売」~「9月販売」のデータを投げ込みます。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

select

品目A

,4月販売, 5月販売, 6月販売, 7月販売, 8月販売, 9月販売

,upCnt(,4月販売, 5月販売, 6月販売, 7月販売, 8月販売, 9月販売) as upC

,loCnt(,4月販売, 5月販売, 6月販売, 7月販売, 8月販売, 9月販売) as loC

from

テーブル名

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー



そうすると、項目 [upC] に2000以上、項目 [loC] に2000未満の件数が出ます。このやり方は4月~9月に縛られず幾つでも記述できますので便利かと。

うったえる有益だ(0シェアするブックマークする

関連質問

Copyright © 2026 AQ188.com All Rights Reserved.

博識 著作権所有