0

スナップショット

私は次のことをしようとしています:3番目の列に文字「A」が見つかった場合、2番目の列のすべての値(「A」と同じ行にあります)を合計しますが、ヘッダーの間は単一の範囲。

配列や他の種類の関数を使ってみましたが、どこにも行きません。

トリッキーな部分は、新しいヘッダーが見つかったときに合計を再開する必要があることです。ヘッダー間にギャップはありません。

みんな、ありがとう!

PS。実際には、2番目のヘッダーの下に表示されているような「A」のない「ブロック」はありません。私はすでにそれらをフィルタリングして削除しました。

4

1 に答える 1

5

これをセルD2に入力して、次のように入力してみてください。

=IF(LEN(C3)<>1,SUMIF($C$2:C2,"A",$B$2:B2)-SUM($D$1:D1),"")

...ただし、行数が多い場合は、コードを使用して単純なSUMIF数式を入力することをお勧めします。これを行う1つの方法は、を押しAlt+F11てVBコードウィンドウにアクセスし、すぐにこの行をウィンドウに入力して、Enterキーを押すことです。

[E1:E13]=[IF(LEN(OFFSET(C1:C13,1,0))<>1,"=SUMIF(C"&LOOKUP(ROW(C1:C13),ROW(C1:C13)/(C1:C13="H3"))+1&":C"&ROW(C1:C13)&",""A"",B"&LOOKUP(ROW(C1:C13),ROW(C1:C13)/(C1:C13="H3"))+1&":B"&ROW(C1:C13)&")","")]

これにより、表示されているセルにこれら3つの数式が入力され、残りのセルは空白のままになります。

E4  =SUMIF(C2:C4,"A",B2:B4)
E9  =SUMIF(C6:C9,"A",B6:B9)
E13 =SUMIF(C11:C13,"A",B11:B13)
于 2012-08-08T10:04:15.817 に答える