質問するログイン新規登録

回答編集履歴

1

追記

2018/12/04 07:50

投稿

sazi
sazi

スコア25430

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