365・LibreOfficeなどに関するメモ2020-01-13(Gスプレッドシート)1つの式だけで累計を求めるGoogleスプレッドシートGoogleスプレッドシートで累計を求める場合、「=B3+C2」とか「=SUM(B$3:B3)」といった式を下方にコピーして連ねるのが常套手段です。実は1つのセルへの入力だけで各行に累計を表示することができます。SUMIF関数とARRAYFORMULA関数を組み合わせて累計を求めることができます。集計対象となるデータがB3:B12に記録されています。そこでC3セルに次のように入力します。=ARRAYFORMULA(SUMIF(ROW(B3:B10),"<="&ROW(B3:B10),B3:B10))SUMIF関数を使い、データの行番号(ROW関数)を条件として集計を行います。第2引数(条件式)にもROW関数を用い、ARRAYFORMULA関数を併用することで複数の条件を一度に与え、複数の結果を得ています。次の式を一度に実行していると考えればわかりやすいかと思います。=SUMIF(ROW(B3:B10),"<="&ROW(B3),B3:B10)=SUMIF(ROW(B3:B10),"<="&ROW(B4),B3:B10)・・・=SUMIF(ROW(B3:B10),"<="&ROW(B10),B3:B10)結果はこうなります。SUM関数とOFFSET関数を用いる方法も考えられそうですがARRAYFORMULA関数と併用できないためうまくいきません。ちなみに、データの列と三角行列との行列積で累計を求めるという方法もあります。複雑ですので詳しくは省略しますが、三角行列の生成については次の記事をご覧ください。365はデスクトップ版、LibreOfficeは記事作成時の安定バージョンを用いた結果を示しています。サイトポリシー等についてはこちらをご覧ください。(1)検索スポンサーリンク引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。