使用chatGPT3.5協助電腦工作已經有一陣子了,心得就一個字:神!大概是我用過最厲害的應用,每一次GPT寫的代碼全都能滿願,讓我這個程式小白也能享受一點執行程式的樂趣,真的是太棒了!今天的對話如下:
Me: 在google試算表的script中,我有一段程式碼如下:
function hideDataRows() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var dataRange = sheet.getRange("D2:D" + sheet.getLastRow());
// 假設資料從第二列開始,D欄
var dataValues = dataRange.getValues();
for (var i = 0; i < dataValues.length; i++) {
var row = i + 2;
// 資料索引 + 2,因為索引從0開始,而實際的列從2開始
var rowData = dataValues[i][0];
if (rowData !== "") {
sheet.hideRows(row);
}
}
我想在程式碼的開頭加入執行的條件:如果G1儲存格內的字串包含"ok",那麼就繼續往下執行,否則就停止執行。該怎麼改寫呢?
GPT秒答:
您可以在程式碼的開頭加入一個條件判斷,檢查 G1 儲存格的值是否包含 "ok"。如果不包含,則停止執行,否則繼續執行。以下是修改後的程式碼:function hideDataRows() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// 檢查 G1 儲存格的值是否包含 "ok"
var conditionCell = sheet.getRange("G1");
var conditionValue = conditionCell.getValue();
if (conditionValue.indexOf("ok") === -1) {
// 如果 G1 儲存格的值不包含 "ok",則停止執行
return;
}
var dataRange = sheet.getRange("D2:D" + sheet.getLastRow());
var dataValues = dataRange.getValues();
for (var i = 0; i < dataValues.length; i++) {
var row = i + 2;
var rowData = dataValues[i][0];
if (rowData !== "") {
sheet.hideRows(row);
}
}
}
這樣修改後,當 G1 儲存格的值不包含 "ok" 時,程式碼將會在條件判斷處停止執行,否則將繼續執行隱藏資料列的操作。
以下是其他chatGPT成功幫我解決的問題(皆列出原始提示):
我有一個google sheets工作表,A欄是日期,如果日期是今天以前的日期,且迄今已超過7天,就隱藏該列,請問script應該怎麼寫?
我想在google試算表中寫一個script,讓我可以隱藏工作表C欄中除了第一列之外,所有包含資料的列,程式碼應該怎麼寫呢?
沒有留言:
張貼留言