スプレッドシートの何行目か値を得るため、連番の配列を追加する

以下のようなスプレッドシートのデータがあります。

A B C
1 工程 担当 点検
2 a
3 B a
4 C 点検対象外
5 D 点検対象外
6 E b
7 F b

上記データから下記、右端にスプレッドシート上での行数を追加(し、点検対象外を除外・担当列を除外=作成済)した配列を作成したいのですが、可能でしょうか。

工程 点検 1
2
B 3
E 6
F 7

上記の処理は、下記プログラムで必要となります。
点検した工程が配列koteiで与えられるので、まだ済と記入されていなければ、
済と記入する行数と済と記入する前の値を取得し、該当セルに済と記入します。
(※済と記入する行数と済と記入する前の値を取得するのに2行let henko, let statusありますが、
こちらを1行にする方法はあれば教えて頂けるとありがたいです。)

function koshin() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("sheet"); let data = sheet.getRange(1, 1, sheet.getLastRow(), 3).getValues(); ★★ここに、スプレッドシート上での行数を配列dataの右端に追記する処理を追加★★ data = data.filter(v => v[1] !== "点検対象外").map(v => [v[0], v[2], v[3]]); const kotei = ["B", "E"]; for (let i = 0; i < kotei.length; i++) { let henko = data.find(v => v[0] === kotei[i] && v[1] !== "済")?.[2]; let status = data.find(v => v[0] === kotei[i] && v[1] !== "済")?.[1]; if (henko > 0) { console.log(status) sheet.getRange(henko,3).setValue("済"); } } }

コメントを投稿

0 コメント