ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
稼働日数(営業日)を算出する方法NETWORKDAYS (Gスプレッドシート)
今回は、とっても価値の高い方法をお伝えします。
これを知ることであなたは、
-
- コピペで独自関数を実行することができます。
- 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の中身については、こちら↓を御覧ください
【GAS基礎講座】 Excelの串刺し計算をGoogleスプレッドシートで実現する
スプレッドシートでExcelの串刺し計算が実現できます。
GASでシート名を取得したり、ループさせる方法がわかります。
最後までご覧いただきありがとうございます。
つぎはこちら
VLOOKUPを超えるINDEX+MATCH 完全攻略(Gスプレッドシート、Excel)
コメント