首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当有公式的单元格值发生变化时,如何自动复制单元格的值?

当有公式的单元格值发生变化时,如何自动复制单元格的值?
EN

Stack Overflow用户
提问于 2020-08-25 07:16:16
回答 1查看 176关注 0票数 1

电子表格的数据:经济数据源(名称)-该电子表格包含2个表,即“结果”和“触发器”

什么:在我的电子表格“经济数据源”和表格“结果”单元格C5中包含一个公式。这个公式告诉我,根据“股市信心”表中的数据,是否选择了多头或看跌反转。

它有3种可能的结果,基于IFS公式,即“看跌反转当选”、“多头反转当选”或“无反转当选”。

的挑战:每当这些反转信号被选出时,它们在1年前的6个月内都是有效的。他们(逆转选举)是基于在同一个电子表格中输入的经济数据。由于经济数据馈送经常更新,因此信号将消失。这就是问题所在。

假设有一天将出现反转,比方说牛市逆转,那么第二天,“股市信心”表中的经济数据被更新,信号消失,C5中的细胞又回到“无反转当选”状态。

我需要的:每当工作表中的单元格C5“结果”选择反转时,就需要将单元格值(仅单元格值)自动复制到另一个电子表格中的另一个位置,而我设想该电子表格中的另一个地方称为“反转选举”。这是必要的,这样信号就不会消失,因为如前所述,经济数据输入经常被更新。此外,我需要倒转选举的日期复制。

屏幕截图的下面是同一电子表格中的不同工作表:

理想的实现方式:

  1. 表格“结果”中的单元格C5基于IFS公式选择反转
  2. C5中的值(和值,而不是公式)以及选举逆转的日期将自动复制到其他地方,最好是在触发器中的同一电子表格中。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-25 08:30:30

是的,您可以获得一个触发器来更新值。下面的代码应该可以工作,我创建了一个可能有帮助的示例文件。如果你复制它,你可以有你自己的版本在看它。

你可能想要在这里回顾事件触发器

下面的代码很可能适用于我认为你想要的东西(记住这是堆栈溢出,所以我们对牛市和熊市不太了解--甚至是运动队)。当C5中的值发生变化时,这将在日志表上写入一条新行。请注意,这是使用基于单元格LoggedResults表中的公式中的链接值的公式比较。如果你玩你自己的版本,我认为这可能更有意义。

代码语言:javascript
复制
/**
 * @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);  
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63573801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档