我有一個提交資訊的按鈕,并且可以正常作業。客戶輸入時,所有數字均為正數。手頭的問題是:
如果 A4 = "Sell",則單元格 A16、A18 和 A20 將這些數字回傳為負值而不是正值。如果 A4 = "Buy",則按原樣回傳(正數)。
這是我目前擁有的。我不知道在哪里輸入這個 IF 陳述句,甚至不知道如何輸入。
function SubmitBuy() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formS = ss.getSheetByName("Front Sheet"); //Data entry sheet
var dataS = ss.getSheetByName("Front Sheet"); //Data Sheet
var values = [[formS.getRange("A2").getValue(),
formS.getRange("A4").getValue(),
formS.getRange("A6").getValue(),
formS.getRange("A8").getValue(),
formS.getRange("A10").getValue(),
formS.getRange("A12").getValue(),
formS.getRange("A16").getValue(),
formS.getRange("A18").getValue(),
formS.getRange("A20").getValue(),
formS.getRange("A28").getValue(), ]];
dataS.getRange(dataS.getLastRow() 1, 3, 1, 10 ).setValues(values);
ClearCells();
}
uj5u.com熱心網友回復:
獲取所有 A 列的值并使用Array.map 和Set操作它們:
function SubmitBuy() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const frontSheet = ss.getSheetByName('Front Sheet'); //Data entry sheet
const valuesA1A28 = frontSheet.getRange('A1:A28').getValues();
const rowsNeeded = [2, 4, 5, 8, 10, 12, 16, 18, 20];
const criteriaRow = 4;
const rowsToModify = new Set([16, 18, 20]);
const valuesNeeded = [
rowsNeeded.map((thisRow) => {
const thisValue = valuesA1A28[thisRow - 1][0];
if (
rowsToModify.has(thisRow) &&
valuesA1A28[criteriaRow - 1][0] === 'Sell'
)
return -thisValue;
else return thisValue;
}),
];
frontSheet
.getRange(frontSheet.getLastRow() 1, 3, 1, 10)
.setValues(valuesNeeded);
ClearCells();
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/504974.html
上一篇:6a列自動顯示日期和時間功能
下一篇:將表格從html匯入谷歌表格