処理対象のシートについて、以下の2点
- ヘッダ行が1行目にあり、データ行は2行目から始まる。
- 最終行の次の行では、B列(確認者)のセルが空欄である。
を前提として、以下のようにするとよいかと思います。
GAS
1function main() {
2 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
3
4 let statusValues = null;
5 let currentItem1 = null;
6
7 for (let row = 2; ; row ++) {
8 const [[item1, name, status]] = sheet.getRange(`A${row}:C${row}`).getValues();
9
10 if (!name) {
11 checkStatusValues(currentItem1, statusValues);
12 break;
13 }
14
15 if (item1) {
16 if (currentItem1) {
17 checkStatusValues(currentItem1, statusValues);
18 }
19 currentItem1 = item1;
20 statusValues = [];
21 }
22
23 statusValues.push(status);
24 }
25}
26
27// 項目1とステータスの配列を引数に受け取って何らかの処理を行う関数
28function checkStatusValues(item1, statusValues) {
29 console.log('check:', item1, statusValues);
30}
31
実行例:
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/12 03:04
退会済みユーザー
2021/12/12 03:40
2021/12/12 09:41