回答編集履歴
1
追記
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で置き換え。
|