質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

解決済

1回答

716閲覧

GAS&スプレッドシート:組み込み関数SLOPEの範囲指定に変数を使いたい

acchon

総合スコア0

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/09/21 08:31

前提・実現したいこと

GASでスプレッドシートを使用
シートAにデータ(1日1個)がある。
シートBに何日分のデータで計算するかのセルがある。このデータを変数にして組み込み関数のSLOPEを計算したい。

発生している問題・エラーメッセージ

引数が違うと出ます

該当のソースコード

GOOGLE APP SCRIPT

function slopeKeisan() {

const keisanSs = SpreadsheetApp.getActiveSpreadsheet();//出力と変数用シート取得
const keisanSheet = keisanSs.getSheetByName('111');//出力と変数用シートのタブ

let slope_nissuu = keisanSheet.getRange("G4") ;//スロープの日数G4(出力と変数シートにある)

let sloslo = slope_nissuu.getValue();//slope日数取得↑

const dataSs = SpreadsheetApp.openById('XXXXXXXXXXXXX');
const dataSheet = dataSs.getSheetByName('AAA');//元データ用シートのタブ

/*
出力先シートに =slope(B2:「Bの2+SLOPEの日数を足したもの」,A2:「Aの2+SLOPEの日数を足したもの」);

下記のやり方でセルの範囲指定を固定した計算はできたのですが、変数を入れるときのやり方がわかりません。
*/
let d1 = dataSheet.getRange('L1'); // 使っていないセルを取得

d1.setFormula('=SLOPE(A2:A10, B2:B10)'); // 関数を設定して演算※ここに変数を入れたい

let functionResult = d1.getValue(); // 演算結果を取り出し
let g6 = keisanSheet.getRange('G6'); // 合計値を格納するセルを取得
g6.setValue(functionResult); // 合計値を格納
d1.clear() // 演算で利用したしたセルを初期状態に戻す

}

### 試したこと ネットでググったrangeの表記の仕方をいくつか試してみました。具体的で無くてすみません。 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

d1.setFormula('=slope($E$2:$E$'+ hensuu +',$A$2:$A$'+ hensuu + ')');

hensuu は予め取得した変数

↑上記で解決しました。変数を '+ と  +' で挟むと良かったようです。

お読み頂いた皆さんありがとうございました。
また、お願いします。

投稿2020/09/22 10:17

acchon

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問