[[20210209110922]] 『フィルターとSUBTOTALの組み合わせ』(さいとう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フィルターとSUBTOTALの組み合わせ』(さいとう)

 入金管理表を作成しています。
 subtotalとsumifを使用しているため、フィルターをかけても最終行が範囲外になったり、
 合計値が誤っていたりして不具合が生じています。どこを直せば正しく動くか教えてください。

     A      B        C         D       E          F        G 
 1  2/1                       R2.11   長期未収  
 2                            R2.12   前々月
 3                            R3.1    前月
 4                            R3.2    当月
 5                                   合計
 6     販売日   販売先    金額    入金日       備考
 7   1    R2/11/1  いろは商事  3000    1/7
 8   3    R2/11/2  あいう(株) 2500  11/2
 9   2    R2/11/2  ABC商店     5000    11/3

 A1は調べたい月の1日の日付を入力
 D1=EDATE(D4,-3)
 D2=EDATE(D4,-2)
 D3=EDATE(D4,-1)
 D4=A1
 F1=SUMIFS(D7:D8888,G7:G8888,1,B7:B8888,"<="&EOMONTH(D1,0))
 F2=SUMIFS(D7:D8888,G7:G8888,1,B7:B8888,">="&D2:D8888,"<="&EOMONTH(D2,0))
 F3=SUMIFS(D7:D8888,G7:G8888,1,B7:B8888,">="&D2:D8888,"<="&EOMONTH(D3,0))
 F4=SUMIFS(D7:D8888,G7:G8888,1,B7:B8888,">="&D2:D8888,"<="&EOMONTH(D4,0))

 A7以下は空欄か1〜3の数字を入力規則で選択できるようにしています。
 G7=SUBTOTAL(3,c7)  以下コピー
 G7=SUBTOTAL(3,C7)   以下コピー

 A1に1/1と入力し、6行目でフィルターをかけるとF1〜F4に月毎の計が表示され、F5にはフィルター後の合計がでるようにしています。

 長期の未収金を調べたいのですが、販売日や販売先で絞ることもあります。
 修正箇所を教えてください。

< 使用 Excel:Office365、使用 OS:Windows10 >


 質問は、F2:F4の式をどう修正すればいいか、ということ?

 F2 =SUMIFS(D7:D8888,G7:G8888,1,B7:B8888,">="&D2,B7:B8888,"<="&EOMONTH(D2,0))
                                             ~~~ ~~~~~~~~
 F3、F4も同じ

 こういうこと?
(笑) 2021/02/09(火) 12:40

 すみません。入力誤りでした。
 F2は &D2,B7:B8888,"<="&EOMONTH(D2,0))  になっていました。
 F3,F4も同様です。

 フィルターを使用すると、高頻度で最終行が範囲に含まれません。
 ネットで調べたところ、G列でSUBTOTALを使用しているからかと思い、COUNTAに変更したらF1〜F5の数値が合いませんでした。
 フィルターを使用して、合計を求めるにはどのようにしたら良いか教えてください。
(さいとう) 2021/02/09(火) 13:55

AGGREGATE関数でもダメなんですかね? (スミマセン。私もよく知らないので...)
(白茶) 2021/02/09(火) 13:59

 >高頻度で最終行が範囲に含まれません。
 最終行というのは 8888行目のこと?
 そのとき、G8888は「1」になってるんですか?

 それとは関係ないかもしれませんが
 G列の式は ↓ にしないとマズいかも

 G7 =IF(C7="","",SUBTOTAL(3,C7))

 >G7=SUBTOTAL(3,c7)
      ↑ だけだと条件に合っていなくても最終行が抽出されると思います。

 以上
(笑) 2021/02/09(火) 14:23

 >G7 =IF(C7="","",SUBTOTAL(3,C7))

   ↓ でもいいかも
 G7 =SUBTOTAL(3,C7)*1
                  ~~~
  または
 G7 =AGGREGATE(3,5,C7)

 以上
(笑) 2021/02/09(火) 14:34 式を追加 15:00

 G列は販売先を入力すると1、空欄だと0になっています。
 販売日や入金日でフィルターをかけると、販売先が入力されているうちの最終行が範囲外となります。
 フィルターとSUBTOTALの相性が悪いみたいなので、AGGREGATEで試してみたいと思います。
(さいとう) 2021/02/09(火) 15:41

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.