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

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

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

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

Q&A

1回答

1239閲覧

【GAS】空白じゃないセルの時処理を実行する指定の仕方について

kond

総合スコア0

Google Apps Script

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

0グッド

1クリップ

投稿2021/10/11 03:55

編集2021/10/11 05:33

前提・実現したいこと

①J列に日付を入れる
②名前~使用日(D~J列)の値をクリアする
上記の処理を自動化したいです。

添付ファイルの赤文字の部分のみをクリアするイメージです
イメージ説明

不明点

②のソースコードの作成はできましたが
J列が空白じゃないときに②のコードの処理をするという指定の仕方がわかりません。
ちなみにJ列はJ4から日付を記載するセルとなります。

function クリア() { var ss = SpreadsheetApp.getActive().getSheetByName("シート名"); var range =ss.getRange(4,4,78,10); range.clearContent(); }

初心者で大変申し訳ございませんが
ご教授頂けますと幸いです。
どうぞよろしくお願い致します。

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

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

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

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

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

papinianus

2021/10/14 10:09

必ず 3 枠なのでしょうか。 上に詰めなくてよいのでしょうか。 運用イメージが持てません。どういう使い方をするのかうかがえますか。
guest

回答1

0

こういうことでしょうかね。

GAS

1function クリア() { 2 const ss = SpreadsheetApp.getActive(); 3 const sheet = ss.getSheetByName("シート名"); 4 if (sheet.getRange(4, 10, 78).isBlank()) { // J列4行目から78行分が空なら 5 const range = sheet.getRange(4, 4, 78, 10); 6 range.clearContent(); 7 } 8}

追記

どうやら、やりたいことは、下記のようなことですね。

// 引数rowで指定された行のJのセルが空でなければ、その行のD~Iのセルをクリアする function クリア(row) { const ss = SpreadsheetApp.getActive(); const sheet = ss.getSheetByName("シート名"); if (sheet.getRange(row, 10).isBlank()) { sheet.getRange(row, 4, 1, 6).clearContent(); } }

投稿2021/10/11 11:20

編集2021/10/12 07:11
itagagaki

総合スコア8402

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

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

kond

2021/10/11 12:22

itagagaki様 ご回答大変ありがとうございます! 今、試してみたのですが動くもののクリアがされず・・・ J列の返却日が入力されたら、その行の担当者~返却日がクリアされるというイメージでした。 もし、解決法をご存じでしたらご教授頂けますと幸いです。 どうぞよろしくお願い致しますmm
itagagaki

2021/10/11 12:27

const range = sheet.getRange(4, 4, 78, 10); range.clearContent(); 質問のコードをもとにしましたが、これだとD4を起点に78行10列(D~M)の範囲をクリアします。 範囲が希望と違いますか?
itagagaki

2021/10/11 12:37

J列が空でない場合にクリアしたいのは1行なのですね? 空かどうかチェックするセルは「その行のJ」だけなのですね? で、その行の番号はどこから与えられるのですか? そして、クリアしたいカラムはDからJまでですか?Iまでではなく?
kond

2021/10/12 06:42

itagagaki様 早々にご質問いただいておりましたの気づかず申し訳ございませんでした。 ①J列が空でない場合にクリアしたいのは1行なのですね?  →はい、ご認識の通りです。 ②空かどうかチェックするセルは「その行のJ」だけなのですね?  →はい、ご認識の通りです。 ③その行の番号はどこから与えられるのですか?  →大変申し訳ございません・・質問の内容にあっているかわからないのですが   こちらは手入力となっております。 ④そして、クリアしたいカラムはDからJまでですか?Iまでではなく?  →DからJまでとなります。すべて最初の状態に戻したい意図となります。 お考え頂きありがとうございます。 どうぞよろしくお願い致します。
itagagaki

2021/10/12 07:11

回答に追記しました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問