2017-08-01 67 views
0

在开始时对我可怜的英语感到抱歉,我会尽我所能解释一切。 有没有方法可以计算D列中的数值已更改多少次,并将其显示在E列中? 在本例D列中,可以从列表中选择两个值 - “☐”和​​“☑”。在列E我想看看有多少人改变了他们的选择。让我们说换E3吧,我想看看D3有多少次被改变,E4会显示D4改变了多少次等等。 谢谢你的帮助!计算并显示一列中的值变化了多少次

example

Example spreadsheet

我发现的唯一的事情是somehitng这样的:

function onEdit(e) { 
    if(e.range.getA1Notation() == "D2") { 
    var sCounter = e.source.getRange("E2"); 
    var counter = sCounter.getValue(); 

    if(counter === 0) { 
     counter = 1; 
    } else { 
     counter ++; 
    } 
    sCounter.setValue(counter); 
    } 
} 

的问题是,它只能算作一个小区,我需要它整个列工作。

+0

嗨,欢迎堆栈溢出。请提供你的代码样本,我们会给你一些帮助;-) –

+0

我写了代码作为答案,因为我不知道如何很好地使用这个网站。 –

回答

0

这应做到:

function onEdit(e) { 
    var ss =SpreadsheetApp.getActiveSpreadsheet() 
    var s=ss.getActiveSheet() 
    var editColumn=e.range.getColumn() 
    var editRow = e.range.getRow() 
    if(editColumn == 4 && editRow >=2) { 
     var sCounter = s.getRange(editRow,editColumn+1,1,1); 
     var counter = sCounter.getValue(); 
    if(counter === 0) { 
     counter = 1; 
    } else { 
     counter ++; 
    } 
    sCounter.setValue(counter); 
    }} 

这里是我的测试表格可以复制,并尝试:

https://docs.google.com/spreadsheets/d/1I5_NVMKPvqN9J2sSlcLRnQbzoVF4iRKOuXJ5mshb-RY/edit?usp=sharing

+0

这很棒!非常感谢! –

相关问题