假设我选择了位于C2中的下拉列表中的资金,而不是希望复制到A2中的B2值
“即将到来的收入”列中有数字,下一栏中有下拉列表。当我们选择在下拉支付(挂起,付款,暂停),它应该复制数字从即将到来的收入栏,并粘贴到列的资金。在这里输入图像描述

发布于 2022-10-19 16:54:02
从理论上讲,这应该能完成您要求它做的事情,您只需要在设置脚本时在“触发器”选项卡中设置一个“on编辑”触发器。
function someFunction(){
//Gets the spreadsheet with the name you specified
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet4')
//Creates a 2D-Array of values based on the range you specify
var dataRange = ss.getRange(2,6,ss.getLastRow()-1,3).getValues()
//Runs through the 2D-array, checking every value for a match
for(var i = 0; i < dataRange.length; i ++){
for(var j = 0; j < dataRange[i].length; j++){
//If there is a match, pastes the value from the 'Upcoming Income' column to the 'Funded' column
dataRange[i][j] == 'Payed' ? ss.getRange('A'+(i+2)).setValue(dataRange[i][0]) : null
}
}
}这至少是我解决这个问题的方法,但我相信还有很多其他更快、更优雅的方法来解决这个问题。您将不得不作出调整,以便它将与您的电子表格工作,但我认为,他们应该相当简单。如果有错误,请告诉我,我会尽我所能来解决的。
在未来,请做@Cooper建议的事情,并确保您的问题在要求时更加清楚,并且在向他人寻求帮助之前,请尝试先对其进行编码。
发布于 2022-10-19 17:57:21
将F移动到A
function onEdit(e) {
const sh = e.range.getSheet();
if(sh.getName() == "Your Sheet Name" && e.range.columnStart == 8 && e.range.rowStart > 1 ) {
e.range.offset(0,-7).setValue(e.range.offset(0,-2).getValue());
}
}https://stackoverflow.com/questions/74128307
复制相似问题