[英]Google Sheets add a note by appending column based on matching value
目標是根據選擇的值隨時間向谷歌表格添加一個或多個注釋。
該腳本將允許在工作表中添加一個按鈕,並將腳本 function 到 append 運行到下一個可用列。
例如,選擇了姓名 Tim。 寫了一個注釋,按下按鈕運行 function 並將其添加到 D 列(因為它是 Tim 的下一個可用列)。
另一個例子,選擇了名字 Jeff。 寫了一個注釋。 由於沒有更多列 append 列應自動創建一個新列並允許將注釋寫入“Jeff's”行,即 G 列
不確定這是否可能,但希望得到一些建議或想法。
一個 | 乙 | C | D | 乙 | F |
---|---|---|---|---|---|
標記 | 乙+ | 部分完成了任務,但需要額外的時間,因為.. | 89433 | 其他 | |
蒂姆 | 一個 | 檢查 | |||
傑夫 | C | 不適用 | 作業#4 | 完畢 | 其他 |
史蒂夫 | 一個 | 完全的 | 獲取文件 | 已收到 | |
伊隆 | 乙- | 四分之三 | 檢查 email |
這就是我認為你想要實現的目標 -
而且,此代碼應該可以幫助您入門 -
function main() {
const name = "Steve";
const note = "HELLO"
addNote(name, note);
}
function addNote(name, note) {
const ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const values = ss.getDataRange().getValues();
for (var rowIndex = 0; rowIndex < values.length; rowIndex++) {
let row = values[rowIndex];
let nameColumn = row[0];
if (nameColumn == name) {
let rowValues = ss.getRange(`${rowIndex+1}:${rowIndex+1}`).getValues()[0]
.filter(value => value !== "")
let newColIndex = rowValues.length;
ss.getRange(rowIndex+1, newColIndex+1).setValue(note);
}
}
}
雖然,我強烈建議選擇其他東西作為唯一標識符而不是名稱,因為如果有 2 行具有相同的名稱,那么代碼實際上會針對兩者添加注釋(錯誤地)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.