- 締切済み
エクセルかアクセスで(できればアクセスで)
質問です。 エクセルかアクセス(できればアクセスで)作成したいのですが、今日が12/10だった場合 12/1 12/2 12/3 12/4 12/5 ~ 12/10 0 50 0 100 0 ~ 0 この場合12/5~12/10まで0だった場合 今日まで0が何日続いたかという計算をすることは 可能でしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yukikocchi
- ベストアンサー率25% (1/4)
これでどうでしょう・・・ ちょっとクエリを使って考えてみました。 まず、テーブルを作ります。 フィールドは、日付、値(0とかを入力するフィールド)です。 このテーブルをベースに集計クエリを作ります。 クエリのフィールドの設定は、 日付→集計:where条件、抽出条件:<=Date() 値→集計:グループ化、抽出条件:0 にします。 さらに、カウント用のフィールドを作ります。 0のカウント:値→集計:カウント です。 これで、今日までの0の個数をカウントできると思います。
- Gin_F
- ベストアンサー率63% (286/453)
> フィールド方向です。 たとえば、コントロール名が txt01 txt02 : txt10 のようになっているとして、本日(txt10)から、遡り、0がいくつあるかを カウントするには、以下のように。 Dim lngIdx As Long Dim lngCnt As Long For lngIdx 10 To 1 Step -1 If Me.Controls("txt" & Format(lngIdx,"00")) = 0 Then lngCnt = lngCnt + 1 Else Exit Sub End If Next lngIdx MsgBox lngIdx & " 日、続いています。" のような感じになると思います。
- Gin_F
- ベストアンサー率63% (286/453)
> 12/1 12/2 12/3 12/4 12/5 ~ 12/10 > 0 50 0 100 0 ~ 0 完全にVBAになると思います。 この値は、フィールド方向に伸びるのでしょうか? それとも、レコード方向? #クロス集計クエリを使うのかな?(Accessでするとしたら。)
補足
フィールド方向です。
補足
上記の方法ですと、0円がトータルで何回あるかということになりませんでしょうか? 今日まで0円が何日続いているかを出したいと考えています。 1日でも0円以外の数字が入れば、再度0円になった直近の日付から今日まで連続した日にちを計算することはできないでしょうか?