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

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

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

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

Q&A

1回答

6886閲覧

GAS すぐ上のセルの関数を、直下のセルにコピーしたい

退会済みユーザー

退会済みユーザー

総合スコア0

Google Apps Script

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

0グッド

0クリップ

投稿2018/02/19 08:28

表題の通り、Google Apps Scriptにて、セルA1に記入した関数を、
すぐ下のセルA2にコピーするにはどうすれば良いでしょうか。

【シートイメージ】
|数値A|数値Aを換算する関数|

がセルに入っている時、GASで

|数値A|数値Aを換算する関数|
|数値B||

のように、数値Bを直下のセルにコピーするところまで出来ました。

ここから更に
|数値A|数値Aを換算する関数|
|数値B|数値Bを換算する関数|
のように、数値Aを換算する関数を上のセルからコピーし、
直下のセルにペーストしたいのですが、うまくいきません。

GASで毎日値を最終行に追加されていくため、セル番号が可変です。
セル番号を指定したコピーができず、困っています。

ご助言いただければ幸いです。
どうぞよろしくお願いいたします。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/02/21 15:32

一応回答を修正しておきましたが、ご自身のコードを提示しないと単なる丸投げになりますよ。
guest

回答1

0

左隣のセルを参照する数式(「数値Aを換算する関数」)ですが、これで値(数値A)が取得できます。

INDIRECT(ADDRESS(ROW(),COLUMN()-1))

上記を使用してB1の数式を組み立て直した上で、直上セル(B1)の数式をgetFormula()でゲットし、setFormula() で目的のセル(B2)へセットできます。
(それぞれgetValue()setValue()の数式限定版です。)

ちなみに、該当シートのデータのある最終行はgetLastRow()でゲットできますので"B"+getLastRow()-1で直上セルを指定できますよね。

GASを使う必要もないと思いますが、参考まで。

投稿2018/02/19 14:14

編集2018/02/21 15:30
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2018/02/20 03:42

var sheet = SpreadsheetApp.getActiveSheet(); var rangeToCopy = sheet.getFormula(INDIRECT(ADDRESS(ROW()-1,COLUMN()))); var targetToCopy = sheet.setFormula(INDIRECT(ADDRESS(ROW(),COLUMN()))); このような形で試してみましたが、ダメでした。 組み込み方をご教授いただけませんでしょうか。 どうぞよろしくお願いいたします。
退会済みユーザー

退会済みユーザー

2018/02/20 12:59

申し訳ございません。 誠に失礼かと存じますが、上記拝見し、GASに関して基本的なことをご理解されていないようですので、まずはリファレンスをご確認ください。 ※「左隣のセルを参照する数式」及び組み立て直す「数式」とはスプレッドシートの組み込み関数(セルに=hogehogeとするやつ)のことです。 https://developers.google.com/apps-script/reference/spreadsheet/range#getFormula() https://developers.google.com/apps-script/reference/spreadsheet/range#setFormula(String) その上で、ご自身が作成されたGASのコードを提示してください。 そうしましたら添削といいますか、修正等はさせていただきます。 「数値Bを直下のセルにコピーするところまで出来ました」とありますので、そのコードと当方の回答を参考にして作成したコードは必要かと思いますよ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問