ピボットテーブルの総計行が元データが追加されるので変動してしまいます。
他のセルに(C37)式を入れていますが、ピボットの行が更新されるたびに 総計行の範囲を毎回張りなおさなければならない状態です。
変動しても他のセル(C37)に、合計が計算できるようにしたいです。
その総計行に対する合計の数式は以下です。(C37に入ってる式です。)
=SUMIF(21:21,">=2007/10/1 ",29:29 )-SUMIF(21:21,">=2008/4/1 ",29:29 )
29行目が総計で常に変動します。
そこで、A行に総計という文字がでたら、1つ右隣から始まる範囲での式がほしいです。
C37セルにその合計の値が表示されるようにしたいです。
21行目(固定)は日付で「2007/10/1」「2008/2/1」と2/1のように
月初の日付がB21セルから未来へ向かって表示。空白もあります。
(年度集計行を20行目に入れたため。)
then以下どう書くか教えてください。
Sub 総計()
Dim myRng As Range
For Each myRng In Range("A:A")
If myRng.Value = "総計" Then
※※※※※※※※※※
End If
Next myRng
End Sub
No.2ベストアンサー
- 回答日時:
No.1です。
INDIRECT(MATCH("総計",A:A,0)&":"&MATCH("総計",A:A,0),1)
上記の関数はA列全体から"総計"の行を検索して、"総計"の行全体を範囲として返します。
例)"総計"が31行目にある時、"31:31"を範囲として返してます。
C37の式は、
SUMIF(21:21,">=2007/10/1 ",INDIRECT(MATCH("総計",A:A,0)&":"&MATCH("総計",A:A,0),1))-SUMIF(21:21,">=2008/4/1 ",INDIRECT(MATCH("総計",A:A,0)&":"&MATCH("総計",A:A,0),1))
になるかと思います。
合計 / 金額納期年納期日
20072007 集計2008
発注確度2007/1/12008/1/12008/2/12008/3/12008/4/1
A:内示 確度高
C:今年度案件11
D:次年度案件
Y:受注9953730.2
Z:失注22
(空白)
総計192345
どうもありがとうございます!
しかしまだうまくいきません。上の図の答えは10にしたいです。
2007/10/1から2008/4/1までの総計数値を出したいです。
発注確度(日付)のあいているセルは合計しないので、総計でいう
ところの9は足す必要ないセルになります。
あと、総計という言葉が上のセルにもう一つあるので、「A:A」という
範囲を「A20:A35」にしたいのですが、そうしたら、式の答えが
「0」になってしまいました。
No.3
- 回答日時:
No.1です。
「A20:A35」を範囲指定する場合は
SUMIF(21:21,">=2007/10/1",INDIRECT(MATCH("総計",A20:A35,0)+19&":"&MATCH("総計",A20:A35,0)+19,1))-
SUMIF(21:21,">=2008/4/1",INDIRECT(MATCH("総計",A20:A35,0)+19&":"&MATCH("総計",A20:A35,0)+19,1))
になります。
"+19"はA20以前の行(1~19行分)を足して正確な行番号にしています。
正解が出ない場合、空白のセルで
=SUM(INDIRECT(MATCH("総計",A20:A35,0)+19&":"&MATCH("総計",A20:A35,0)+19,1))
試してみてください。
"総計"行の合計値が表示され、正解ならこの関数には問題が無く
SUMIF()関数の指定に問題があることになります。
あと、
発注確度 2007/1/1 2008/1/1 2008/2/1 2008/3/1 2008/4/1
総計 1 9 2 3 4 5
発注確度(日付)データ5に対して総計データ6あるのですが、2007/1/1
に対応する総計値はどれなのでしょうか?
日付に9 2 3 4 5を対応させても正解の10にはなりません^^;
ありがとうございます。
うまくいきました。
>あと、
>発注確度 2007/1/1 2008/1/1 2008/2/1 2008/3/1 2008/4/1
>総計 1 9 2 3 4 5
>発注確度(日付)データ5に対して総計データ6あるのですが、2007/1/1
>に対応する総計値はどれなのでしょうか?
>日付に9 2 3 4 5を対応させても正解の10にはなりません^^;
すみません。説明不足でした。
総計「9」の数値の発注確度(日付)がないんです。年度の集計列
だったので。この表で言う2008/3/1までの計がほしかったのでした。
とてもむずかしい関数ですが(理解を超えてる)、回答いただけて感謝です。
No.1
- 回答日時:
参考までに
MATCH関数、INDIRECT関数の組み合わせで"総計"の範囲を取得されたら
どうでしょうか?
セルC37の式"29:29"の箇所を変更
INDIRECT(MATCH("総計",A:A,0)&":"&MATCH("総計",A:A,0),1)
ありがとうございます。
発注確度2007/1/12007/10/12008/1/12008/2/1
A:内示 確度高5
B:入札 正式見積
C:今年度案件885
D:次年度案件
Y:受注1111915
Z:失注4
(空白)
総計81119929
※こんな感じの表です。
=SUMIF(21:21,">=2007/10/1 ",INDIRECT(MATCH("総計",$A$21:$A$34,0)&":"&MATCH("総計",$A$21:$A$34,0),1))-SUMIF(21:21,">=2008/4/1 ",INDIRECT(MATCH("総計",$A$21:$A$34,0)&":"&MATCH("総計",$A$21:$A$34,0),1) )
式を頂いた回答に加えてみましたが、エラーになりませんが、
正解の数字が出てきません。どこをみているかが分からないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Excel(エクセル) エクセルでの左のセルのコピー 3 2022/07/25 12:31
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
Excelで空白セル直前のセルデー...
-
エクセルVBA 配列からセルに「...
-
【Excel VBA】一番右端セルまで...
-
EXCEL VBA 文中の書式ごと複写...
-
Excel UserForm の表示位置
-
入力規則のリスト選択
-
特定の色のついたセルを削除
-
VBA 複数条件の分岐処理の上手...
-
DataGridViewで指定したセルの...
-
DataGridViewのフォーカス遷移...
-
エクセルのカーソルを非表示に...
-
指定した文字から指定した文字...
-
DataGridViewでグリッド内に線...
-
Rangeの範囲指定限界
-
エクセルの選択範囲のセルの値...
-
Excel VBA 同じ処理を複数回行...
-
エクセルの合計を自動で表示さ...
-
Excel VBA IF文がうまく動作し...
-
Excelのセルから日付情報を取得...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAマクロ実行時エラーの修正に...
-
エクセルVBA 配列からセルに「...
-
VBA 複数条件の分岐処理の上手...
-
Excelで空白セル直前のセルデー...
-
Excel UserForm の表示位置
-
EXCEL VBA 文中の書式ごと複写...
-
特定の色のついたセルを削除
-
VBA にて、条件付き書式で背景...
-
VBAでユーザーフォームにセル値...
-
【VBA】写真の貼り付けコードが...
-
【Excel VBA】一番右端セルまで...
-
Excel VBAでCheckboxの名前を変...
-
エクセルの合計を自動で表示さ...
-
【VBA】【ユーザーフォーム_Lis...
-
VBA:日付を配列に入れ別セルに...
-
Excel VBA IF文がうまく動作し...
-
下記のマクロの説明(意味)を...
-
入力規則のリスト選択
-
C# DataGridViewで複数選択した...
-
関数の引数でrangeを指定したとき
おすすめ情報