列の最後の N 行を合計するにはどうすればよいですか?

列の最後の N 行を合計するにはどうすればよいですか?

次のような設定になっています:

画像

する必要がある:

  1. 列 B の最後の n 個の値を合計します (空の値は除きます。この例では、最後の 2 つの値の合計は 8 になります)。
  2. 列 B で合計された最後の項目の列 A から対応する値を返します (最後の 2 つの項目の場合、これは B の 7 になり、値 P に対応します)。
  3. 列 B で合計された最初の項目の列 A から対応する値を返します (最後の 2 つの項目の場合、これは B の 1 になり、これは K に対応します)。

これを VBA を使用せずに実行したいと思います。

答え1

これによりK, P&が返されます1, 7

=INDEX(FILTER($A$1:$B$9,$B$1:$B$9<>""),SORT(SEQUENCE(2,1,SUM(--($B$1:$B$9<>"")),-1)),{1,2})  

返される結果K, P:

=INDEX(FILTER($A$1:$B$9,$B$1:$B$9<>""),SORT(SEQUENCE(2,1,SUM(--($B$1:$B$9<>"")),-1)))  

これは数字の合計を返します ( 8)。

=SUM(INDEX(FILTER($A$1:$B$9,$B$1:$B$9<>""),SORT(SEQUENCE(2,1,SUM(--($B$1:$B$9<>"")),-1)),2))

参考文献: https://exceljet.net/formula/filter-on-first-or-last-n-values

関連情報