質問するログイン新規登録

Q&A

解決済

3回答

2962閲覧

GAS、空白セルを取得した場合、処理を終了する。

kou0225

総合スコア9

Google スプレッドシート

Google スプレッドシートは、フリーで利用できる表計算ソフト。Webアプリのためインターネットに接続することで利用できます。チャートやグラフの作成のほか、シートを他のユーザーと共有したり、同時に作業を進めることも可能です。

Google Apps Script

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

0グッド

0クリップ

投稿2020/10/27 07:47

0

0

現在、下記のようにセルから値を取得するように実装しております。
const range1 = sheet2.getRange('D2:D300');
range1.getValues().flat().forEach(function(key1){}

getRange('D2:D300');
上記の部分をD300と指定すると、空白のセルを含んでしまうことがあるので
最終行のセルのみ取得したいです。

また、D2から途中で空白のセルになることはありません。
最後の行、以降が空白になります。

質問の質が悪く申し訳ないのですが、ご教授いただけないでしょうか?
よろしくお願いいたします。

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

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

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

guest

回答3

0

取得した結果、実行したい内容を教えて下さい。

javascript

1const tail = sheet2.getDataRange().getValues(). 2pop();

投稿2020/10/28 10:08

papinianus

総合スコア12707

0

ベストアンサー

ABCD
1A1B1C1D1
2A2B2C2D2
3A3B3C3D3
4A4B4C4D4
5
6

こんなデータってことでしょうか?
D列以外も5行目以降は空白の前提でいいのでしょうか。

JavaScript

1const lastRow = sheet2.getLastRow(); 2//A1Notation で範囲指定するなら 3const range1 = sheet2.getRange('D2:D' + lastRow); 4//行番号・列番号で範囲指定するなら 5const range1 = sheet2.getRange(2, 4, lastRow, 4); 6range1.getValues().flat().forEach(function(key1){ 7 //.... 8});

投稿2020/10/27 08:45

draq

総合スコア2577

0

「空白セルを取得した場合終了」というよりも、「空白でない最終行の行番号」を取得できます。
ループの終了条件をこちらにすればよいのでは?

javascript

1const sheet = SpreadsheetApp.getActiveSheet(); 2const lastRowNum = sheet.getLastRow();

投稿2020/10/27 08:31

Hogeike

総合スコア293

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.29%

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

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

質問する

関連した質問