答え1
答え2
合計を各グループの最初の行に表示したい場合は、次の数式を使用できます。
=IF(AND(M2="Flag",M1<>"Flag"),SUM(K2:INDEX(K2:INDEX(K:K,MATCH(1E+99,K:K)+1),MATCH(TRUE,INDEX(M2:INDEX(M:M,MATCH(1E+99,K:K)+1)="",),0)-1)),"")
詳しく見てみましょう:
2 つは、INDEX(K:K,MATCH(1E+99,K:K)+1)
数字が入っている列 K の最後のセルを見つけて、それを参照範囲の範囲として設定します。この方法では数式は動的であり、新しい行が追加されると数式が自動的に調整されます。
次に、Sum 内で同じ行のセルから開始します。K2 は相対的であり、数式が下に移動すると参照も移動します。範囲内の最後のセルは、別の INDEX/MATCH で設定されます。
今回は、数式が入っている行の列 M の最初のセルが空であるかどうかを調べます。その行 -1 を SUM() の最後の行として設定します。
IF() は、合計を計算し、残りを空の文字列にするだけです。
グループの一番下に配置する場合は、次の配列数式を使用します。
=IF(AND(M2="Flag",M3=""),SUM(INDEX($K$1:K2,IFERROR(MATCH(2,IF($M$1:M2="",1)),1)+1):K2),"")
配列数式なので、編集モードを終了するときは Ctrl + Shift + Enter で確定する必要があります。正しく実行すると、Excel によって{}
数式が囲まれます。
今回は、最初の行を設定するために、現在の行の上にある M の最後の空きスペースを探します。
IFERROR は、すぐ下の行に「フラグ」がある場合に、タイトル行を処理します。