[[20251207223812]] 『複数条件を満たす合計値を求めたい』(もり) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『複数条件を満たす合計値を求めたい』(もり)

Excelで複数の条件を満たすものの合計値を求めたいです。
知恵を貸してください。

      日  月  火  水  木  金  土
  A B C D E F G H I J K L M N
1               1 〇  2  × 3 〇  4  × 5  ×
2               ア  9 ア 5  ア 7  ア 1  ア 7       
3        イ  7 イ 3  イ 6  イ 8  イ 4
4               ウ  4 ウ 0  ウ 9  ウ 6  ウ 1
5        計 20 計 8  計 22 計 15 計 12
6  6 ×  7 ×  8 〇  9     10 〇 11 × 12
7  ア 3  ア 2   ア 5  ア 6  ア 1  ア 2  ア 4
8  イ 4  イ 1   イ 5  イ 1  イ 7  イ 9  イ 1
9  ウ 1  ウ 2   ウ 8  ウ 4  ウ 4  ウ 1  ウ 5
10 計 8  計 5   計 18 計 11 計 12 計 12 計 10
11 13 × 14 ×  15  ×16 〇 17    18    19   
12 ア 2  ア 8   ア 9  ア    ア    ア    ア
13 イ 5  イ 6   イ 1  イ    イ    イ    イ
14 ウ 3  ウ 1   ウ 2  ウ    ウ    ウ    ウ
15 計 10 計 15  計 12 計    計    計    計
16 20    21 〇  22    23    24    25    26
17 ア    ア     ア    ア    ア    ア    ア
18 イ    イ     イ    イ    イ    イ    イ
19 ウ    ウ     ウ    ウ    ウ    ウ    ウ
20 計    計     計    計    計    計    計
21 27    28     29    30    31
22 ア    ア     ア    ア    ア
23 イ    イ     イ    イ    イ 
24 ウ    ウ     ウ    ウ    ウ
25 計    計     計    計    計 

カレンダーで日にちの跡に〇or×or空白
それぞれの日に?@?A?Bの項目がありその合計値が入っています。

・1日から15日までで日付の後が×のあるアの合計値

・1日から15日までで日付の後が〇のあるイの合計値

・1日から15日までで日付の後が〇の日の数

・2日から8日までで日付の後が〇のあるアの合計値

・2日から8日までで日付の後が×のあるイの合計値

・2日から8日までで日付の後が×の日の数

を求めるのにどのような数式がよいか教えてください。

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


 色々な方法があるかと思います。
 このような形式のデータに変換できれば、あとはSUMIFSとかCOUNTIFSとかで容易に計算できると
 思われます。一つの方法かと思います。

       P列   Q     R     S     T
 1     日    記号  ア    イ    ウ
 2     1     〇    9     7     4
 3     2     ×    5     3     0
 4     3     〇    7     6     9
 5     4     ×    1     8     6
 6     5     ×    7     4     1
 7     6     ×    3     4     1
 8     7     ×    2     1     2
 9     8     〇    5     5     8
 10    9     0     6     1     4
 11    10    〇    1     7     4
 12    11    ×    2     9     1
 13    以下略                        

 ■Excel365なので、P2に以下の式を入れれば、自動転記することができます。

 【P2セルの式】
 =LET(
     その月のカレンダにおける週の数,5,  
     日単位のデータ作成関数,LAMBDA(rng,HSTACK(rng,TRANSPOSE(OFFSET(rng,0,1,4,1)))),
     週単位のデータ作成関数,LAMBDA(rng,
               DROP(REDUCE("",SEQUENCE(7),
                     LAMBDA(accum,x,
                            LET(a, OFFSET(rng,0,(x-1)*2,1,1),
                                IF(a="",accum,VSTACK(accum,日単位のデータ作成関数(a)))
                            )
                     )),1)
    ),
    DROP(REDUCE("",SEQUENCE(その月のカレンダにおける週の数),
                   LAMBDA(accum,x,
                          LET(b, OFFSET(A1,(x-1)*5,0,1,1),
                              VSTACK(accum,週単位のデータ作成関数(b))
                          )
                   )
    ),1)
 )
  【備考】
 なお、カレンダーの週の数は、上記では入力項目としましたが、
 もちろん、その月の初日の日付シリアル値を元に自動計算できます。
 (よくある話なので探せば直ぐに見つかります)
(xyz) 2025/12/08(月) 08:02:33

 そもそも論として、そいう集計をするのであれば
 カレンダー形式ではなく、標準的な表形式にすべきという気がします。
(xyz ) 2025/12/08(月) 08:25:41

 既に言及されていますが

 カレンダー→集計
 ではなく

 表形式→集計
           →カレンダー
 のように

 カレンダーは単なる「表示用」として保持し、そこからデータを触ることは避け
 あくまでデータは表形式で保存する事がベターです

 よくある指摘ですが「Excelはあくまでも表計算ソフトです」

(Asa) 2025/12/08(月) 23:13:58


ありがとうございました。
(もり) 2025/12/09(火) 00:20:42

もう少し、どのように受け止められたのか教えてもらえますか?

(xyz) 2025/12/09(火) 10:14:39


コメント返信:

[ 一覧(最新更新順) ]


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