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

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

新規登録して質問してみよう
ただいま回答率
85.31%
Google スプレッドシート

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

Q&A

1回答

12058閲覧

スプレッドシートで条件に合ったセルを含む行のみ削除したい

kai-program

総合スコア6

Google スプレッドシート

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

0グッド

0クリップ

投稿2019/08/05 05:07

編集2019/08/05 07:47

前提・実現したいこと

店舗からの備品発注を本社で受け、備品を店舗へ発送後、受け取り確認をする。というフローを1枚のシート内で完結させたいです。

必要な点は、「3種類のチェックボックス全てにチェックが入った行のみを夜中(0時ちょうど)に削除したい」ということです。
使用するのはGASで、編集者には全ての権限があります。仕様によっては店舗にも編集権限を付与可能です。

解決したい問題

スクリプトを使用する理由として、夜中にトリガーを起動させ該当行を一括削除したいからです。
A列、B列、C列にそれぞれ「受取済」「発送済」「発注済」というチェックボックスを設け、全てにチェックが入ったものを削除したいです。

宜しくお願いいたします。

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

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

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

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

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

otn

2019/08/05 05:15

Javaは無関係では?
Zuishin

2019/08/05 05:26

Java ではなく、JavaScript(GAS) では?
kai-program

2019/08/05 06:36

皆さま仰います通りGASです。 コードの部分は修正をかけてみます。 お忙しい中ありがとうございます!
Zuishin

2019/08/05 07:03

次のことに注意して編集してください。 - 新しく質問するのではなく、この質問を編集すること - タイトルを、目的を端的に表す適切なものに変更すること(例:選択した行を一度に削除したい) - タグを適切なものに変更すること(VBA も Java も無関係) - スクリプトを使わなくても選択と削除はできるが、それではいけない理由を書くこと - どこからかで拾ってきた適当なコードでは求める仕様を記述できていないので、やりたいことを日本語で可能な限り詳しく記述すること - GAS であることを明記し、スプレッドシートを編集する人に、その権限があることを確認すること
kai-program

2019/08/05 07:48

ご指摘いただいた内容を修正いたしました。 ありがとうございます!
guest

回答1

0

GAS は 6 分以上動くスクリプトは自動的にエラーになります。そして、行削除は重い処理で、一行ずつ削除していくと簡単にこの閾値を超えてしまいます。

そこで次のような戦略をとります。

  1. シート全体を配列に読み込む
  2. 配列の中から不要な行を削除
  3. シート全体をクリア
  4. シートに配列を書き込む

こちらが参考になると思います。

Google Apps Scriptでスプレッドシートの行を削除する2つの方法

ここに書かれているスクリプトでは、配列の中の削除する行があらかじめ決まっていますが、ループを使ってチェックが入っているかどうかを確かめ、三つチェックが入っているものを削除するのが良いでしょう。

for ループで行数をカウントアップしていった場合、例えば 2 行目を削除して次に 3 行目に移ると、その 3 行目はもともと 4 行目であった部分なので、もともと 3 行目であった部分が飛ばされてしまいます。削除した場合にはカウントを戻す工夫が必要でしょう。

また、最初の行からカウントアップするのではなく、最終行からカウントダウンしていくなら、この作業は不要になるのでロジックが少し簡単になります。

投稿2019/08/05 08:02

Zuishin

総合スコア28673

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.31%

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

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

質問する

関連した質問