回答編集履歴

1

追記

2018/12/04 07:50

投稿

sazi
sazi

スコア25206

test CHANGED
@@ -1 +1,29 @@
1
1
  SUMIF()で集計は可能ですので、あとはSUMIFでの範囲をMATCH()をOFFSETとして使用すれば良さそうです。
2
+
3
+
4
+
5
+ 分かり安くするために式を分割します
6
+
7
+ 実績データの当該科目のA17を先頭にした場合の相対位置をD列に設定します。
8
+
9
+ 以下はD2
10
+
11
+ ```
12
+
13
+ =MATCH(B2,A$17:A999,0)
14
+
15
+ ```
16
+
17
+ ※実績データで科目の順序が不定の場合はMAX()を使用し
18
+
19
+ `=MAX(INDEX((A17:A999<=D2)*A17:A999,0))`などとして範囲の次を求める。
20
+
21
+ 以下はC2
22
+
23
+ ```
24
+
25
+ =SUMIF(OFFSET(A17,D2,,D3-D2,),A2,OFFSET(B17,D2,,D3-D2,))
26
+
27
+ ```
28
+
29
+ ※データが存在しない場合はえらーとなるので、ISERRORで置き換え。