複数シートを串刺し集計(3Dー集計)する方法(Googleスプレッドシート)

その他の関数

中級関数の一覧

ご訪問ありがとうございます。

Googleシートマスターのひろしです。

前回

稼働日数(営業日)を算出する方法NETWORKDAYS (Gスプレッドシート)
  • NETWORKDAYS関数の基本的な使い方がわかります。
  • 営業日の日数を手軽に知ることができます。
  • 今回は、とっても価値の高い方法をお伝えします。


    これを知ることであなたは、

      • コピペで独自関数を実行することができます。
      • Googleスプレッドシート上で複数シートの串刺し集計を行うことができます。

    逆に、知らないと

    Excelでは、手軽にできる串刺し集計がスプレッドシートでできないので
    各シートのセルをひとつずつ選択することになります。

    なので、サクッとマスターして

    と答えてあげてください。

    動画はこちら

    シートはこちら

    *クリックすることでシートが開きます。(コピーしてお使いください)

    準備

     

    Step1.

    ①以下のスクリプトをコピー(右上のアイコンをクリック)します。

    /**
     * 串刺し集計(3D-集計)します。
     *
     * @param {"A1"} cellpos 串刺し集計するセルを文字列で指定します。
     * @param {"シート1"} sshname 串刺しを開始するシート名です。
     * @param {"シート4"} eshname 串刺しを終了するシート名です。
     * @customfunction
     */
    function SumKushi(cellpos, sshname, eshname) {
      const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets()
      let sum = 0
      let badd = false    //追加中フラグ
    
    
      for (let i = 0; i < sheets.length; i++) {
        if (sheets[i].getName() === sshname) {//開始シート名を発見
          badd = true
        }
        if (badd) {
          sum += sheets[i].getRange(cellpos).getValue()
        }
        if (sheets[i].getName() === eshname) {//終了シート名なら
          break
        }
      }
      return sum
    }

     

    Step2.

    ①「拡張機能」ー「Apps Script」をクリックします。

    Step3.

    ①全選択します。
    ②「Ctrl+V」で貼り付けます。

    Step4.

    ①「(フロッピーのアイコン)」をクリックして保存します。

     

    これで準備完了です。

     

    計算方法

    セルに=sumkushiと入力します。

    例) シート1からシート4のA1セルを集計したい場合

    =SumKushi(“A1″,”シート1″,”シート2”)
    となります。

     

     

    ポイント

    すみません。動画作成事に気づいたのですが、関数使用後に
    再計算されないので、使用する際は、かなり注意が必要です。

     

     

     

    GASの中身については、こちら↓を御覧ください

    最後までご覧いただきありがとうございます。

    つぎはこちら

    VLOOKUPを超えるINDEX+MATCH 完全攻略(Gスプレッドシート、Excel)
  • 手軽にデータを取得できます。
  • INDEX関数とMATCH関数の使い方がわかります。
  • 2つを組み合わせることでVLOOKUP関数的な使い方ができます。
  • 中級関数の一覧

    コメント

    タイトルとURLをコピーしました