Events 如何自动复制单元格';当具有公式的单元格的值发生变化时,是否为s值?
电子表格数据:经济数据提要(名称)-此电子表格包含两张表格,即“结果”和“触发器” 什么:在我的电子表格“经济数据提要”和表格“结果”中,单元格C5包含一个公式。这个公式告诉我,根据“股市信心”表中的数据,是否选择了看涨或看跌反转 根据IFS公式,它有3种可能的结果,即“选择熊市反转”、“选择牛市反转”或“选择无反转” 挑战:无论何时选举出这些逆转,它们的有效期都是6个月,直到1年。它们(反转选举)基于同一电子表格中导入的经济数据。由于经济数据源经常更新,因此信号将消失。这就是问题所在 想象一下,有一天选择反转,比如说看涨反转,第二天“股市信心”表中的经济数据更新,信号消失,C5中的单元格变回“未选择反转” 我需要什么:每当工作表“结果”中的单元格C5选择反转时,我需要将单元格值(仅单元格值)自动复制到另一张工作表中同一电子表格中的另一个位置,我设想将其称为“反转选择”。这是必要的,以便信号不会消失,因为如前所述,经济数据馈送正在频繁更新。此外,我需要复印撤销选举的日期 以下屏幕截图是同一电子表格中的不同表格: 理想的实现方式:Events 如何自动复制单元格';当具有公式的单元格的值发生变化时,是否为s值?,events,google-apps-script,google-sheets,Events,Google Apps Script,Google Sheets,电子表格数据:经济数据提要(名称)-此电子表格包含两张表格,即“结果”和“触发器” 什么:在我的电子表格“经济数据提要”和表格“结果”中,单元格C5包含一个公式。这个公式告诉我,根据“股市信心”表中的数据,是否选择了看涨或看跌反转 根据IFS公式,它有3种可能的结果,即“选择熊市反转”、“选择牛市反转”或“选择无反转” 挑战:无论何时选举出这些逆转,它们的有效期都是6个月,直到1年。它们(反转选举)基于同一电子表格中导入的经济数据。由于经济数据源经常更新,因此信号将消失。这就是问题所在 想象一下
是的,您可以获得一个触发器来更新值。下面的代码应该工作,我做了。如果你复制它,你可以有自己的版本在看它 你可能想 下面的代码可能适用于我认为您正在寻找的内容(请记住,这是堆栈溢出,所以我们对牛市和熊市——甚至是运动队——不太了解)。这将在C5中的值发生变化时在日志表上写入新行。请注意,这是使用基于单元格B1中LoggedResults表中公式中链接值的公式比较。如果你玩弄你自己的版本,我想可能会更有意义
/**
* @OnlyCurrentDoc
*/
/**
* The event handler triggered when editing the spreadsheet.
* @param {Event} e The onEdit event.
*/
function onEdit(e) {
const cellsToCopyFromTop = "A1:C1"; ///<--- update these if you want to include more columns
const ss = SpreadsheetApp.getActiveSpreadsheet();
const logSheet= ss.getSheetByName('LogResults');
//test to see if cell B1 matches value of last entry
if(logSheet.getRange("B1").getValue() !=
logSheet.getRange(logSheet.getLastRow(),2).getValue()){
var newValues = logSheet.getRange(cellsToCopyFromTop).getValues();
logSheet.getRange(logSheet.getLastRow()+1,1,newValues.length,newValues[0].length).setValues(newValues);
}
}
/**
*@OnlyCurrentDoc
*/
/**
*编辑电子表格时触发事件处理程序。
*@param{Event}删除onEdit事件。
*/
功能OneEdit(e){
const cellsToCopyFromTop=“A1:C1”//是的,您可以获得更新值的触发器。下面的代码应该可以工作,我制作了。如果您复制了它,您可以在查看时拥有自己的版本
你可能想
下面的代码可能适用于我认为您正在寻找的内容(请记住这是堆栈溢出,所以我们对牛市和熊市不太了解,甚至对运动队也不太了解)。这将在C5中的值发生更改时在日志表上写入新行。请注意,这是使用基于B1单元格中LoggedResults表中公式中链接值的公式比较。如果您使用自己的版本,我认为可能更有意义
/**
* @OnlyCurrentDoc
*/
/**
* The event handler triggered when editing the spreadsheet.
* @param {Event} e The onEdit event.
*/
function onEdit(e) {
const cellsToCopyFromTop = "A1:C1"; ///<--- update these if you want to include more columns
const ss = SpreadsheetApp.getActiveSpreadsheet();
const logSheet= ss.getSheetByName('LogResults');
//test to see if cell B1 matches value of last entry
if(logSheet.getRange("B1").getValue() !=
logSheet.getRange(logSheet.getLastRow(),2).getValue()){
var newValues = logSheet.getRange(cellsToCopyFromTop).getValues();
logSheet.getRange(logSheet.getLastRow()+1,1,newValues.length,newValues[0].length).setValues(newValues);
}
}
/**
*@OnlyCurrentDoc
*/
/**
*编辑电子表格时触发事件处理程序。
*@param{Event}删除onEdit事件。
*/
功能OneEdit(e){
const cellsToCopyFromTop=“A1:C1”///编号代码>编号<代码>代码>您好,非常感谢您的回复和努力!我真的很感激!我复制了您的电子表格并玩了它,我无法让它工作,但这可能是我的错。在“结果”表中,我用打字机和Boink输入了各种文本,我希望这些文本被复制到“LogResults”中但它没有发生。我遗漏了什么?哦……没关系!我现在让它工作了!我只是误解了它的工作原理……我想当我将B5单元格改为空白时,它会复制它!我在我的帖子中添加了一些问题的答案。HI@mancoder.StackoverFlow有一些非常严格的标准,你不应该将问题作为答案发布。Addi通常,在给出答案后再问一些不相关的问题会被认为是一种不好的形式。我知道这对你来说都是新鲜事,所以不用担心,但如果你能接受我的答案(点击复选框),我将不胜感激。抱歉。我现在接受了你的问题:-)非常感谢你的帮助和回答我的后续问题!你好,非常感谢你的回答和努力!我真的很感激!我复制了你的电子表格并摆弄了它,我无法让它工作,但这可能是我的错。在“结果”表中我用打字机和Boink输入了各种文本,我希望这些文本能被复制到“LogResults”但它没有发生。我遗漏了什么?哦……没关系!我现在让它工作了!我只是误解了它的工作原理……我想当我将B5单元格改为空白时,它会复制它!我在我的帖子中添加了一些问题的答案。HI@mancoder.StackoverFlow有一些非常严格的标准,你不应该将问题作为答案发布。Addi通常,在给出答案后再问一些不相关的问题会被认为是一种不好的形式。我知道这对你来说都是新鲜事,所以不用担心,但如果你能接受我的答案(点击复选框),我将不胜感激.很抱歉。我现在接受了你的问题:-)非常感谢你的帮助和回答我的后续问题!