Access97である3つの数値を一覧で表示しますが、レポートに表示するのみ、うち2つの項目を比較して、四捨五入値や切り上げ・切り捨て値で表示させ、その結果で合計をページ単位&全合計を出します。20行で必ず改ページをするため、詳細セクションの "OnPrint/印刷時" のイベントプロシージャで、行カウントの制御とページ単位の累計を計算していますが、全合計は、おかしな数値になてしまいます。
(全合計は、最終ページにそれのみで出力させなければなりません。)

なにかいい方法はないでしょうか?

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

A 回答 (1件)

御疲れ様です



>なにかいい方法はないでしょうか?
ちょっと漠然すぎます...
何が目的なのか不明瞭なですね。

>行カウントの制御とページ単位の累計を計算していますが、全合計は、おかしな数値になてしまいます。
行カウントの制御が目的なのでしょうか?
それとも累計合計方法(全合計を含む)が目的なのでしょうか?

>(全合計は、最終ページにそれのみで出力させなければなりません。)
これは、レポートフッターを使用すれば出来ることです。
ただし、今回の掲題に関しては、レポートフッターに配置したテキストボックスの集計機能は適用できません。
例えば、テキストボックスのコントロールソースに「=Sum([AAA])」と入力した場合、レポートのレコードソースに「AAA」というフィールドが含まれていなければなりません。

今回の場合は、レコードソースの値を加工して表示しているわけですから、VBA等で値を累積していくしかないですね。
または、もとになるレコードソースのほうで値の加工を先に行っておくとか...

もうちょっと具体的になれば、詳しくアドバイスなり回答が貰えると思います。
参考になれば...
    • good
    • 0

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

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

このQ&Aを見た人が検索しているワード

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

Qエクセルで数値を50単位で切り捨てたいのですが

例えば
0~49→0
50~99→50
100~149→100
150~199→150

といった感じで50で切り捨てたいのですが
方法が分りません。
CEILING関数かな?とも思ったのですがちょっと違うような…

宜しくお願いします(^^;

Aベストアンサー

50で割って、50倍するのが一番単純でしょうか。
A1セルに入っているとして

=int(A1/50)*50

Qエクセル 指定文字行のみの数値の合計

エクセルで簡単な家計簿を作っています。
月日、内容、収入、支出、残高のみのシンプルなものです。
内容欄に“貯金”と書かれた行の金額を1ヶ月分の合計で出すことは可能でしょうか?
ちなみに月ごとに列を変えています。
宜しくお願いします。

Aベストアンサー

文字が貯金に一致するものの合計なら
=SUMIF(内容欄の範囲,"貯金",金額の範囲)
文字に貯金を含むものの合計なら
=SUMIF(内容欄の範囲,"*貯金*",金額の範囲)

Qexcel関数で四捨五入以外の切り捨て、切り上げ

excelの関数で四捨五入以外の切り捨て切り上げはどうすればいいでしょうか。
小数点以下を切り上げ・切り捨てしたいのですが、
.5までは切り捨てにしたいのです。.51だと切り上げ。
ROUNDだと.5から切り上げになりますよね。
よろしくお願いいたします。

Aベストアンサー

昔からのプログラマなら迷わず

=INT(A1+0.4999999)
=ROUNDDOWN(A1+0.499999)

とかするでしょうね。

でも、Excelなら切り上げ切り捨てが自由自在なので
こっちの方が分かりやすいかな?

=ROUNDUP(A1-0.5)

QExcelで-数値と+数値を別々に合計する。

Excelの表で-数値と+数値を別々に合計する方法をお教えください。

Aベストアンサー

SUMIF関数を使います。
例えば、数字の入ったセルがA1:A5とした場合、
マイナスのみの集計は
=SUMIF(A1:A5,"<0",A1:A5)
プラスのみの集計は
=SUMIF(A1:A5,">0",A1:A5)
で計算できます。

Qエクセルで時間の切り上げと切り捨て

A1のセルに時間の数値を入れた時15分より前だったら切り捨て15分より後だったら切り上げとする方法があるでしょうか?ceilingと floorを使ってみたのですが上手くいきません。
よろしくお願いいたします。

Aベストアンサー

>15分より前だったら切り捨て15分より後だったら切り上げとする方法があるでしょうか?
=CEILING(FLOOR(A1,"0:15"),"0:30")

これで15分未満は0分、15分以上45分未満は30分、45分以上は0分(1時間繰り上げ)になります。
60分=1/24、30分=1/48なので

=ROUND(A1*48,0)/48

でも同じ結果になりますが。。。


このカテゴリの人気Q&Aランキング

おすすめ情報