我有专栏。一个具有日期字段,另一个具有值(即成本)。我们可以调用第一列A和第二列B.我想在每个成本设置时注册日期。这意味着,当在B列中设置了值时,必须使用当前日期自动填充A列。
我的第一个想法是使用today()
但是每次打开文档时此函数都会更新值。这意味着A列的所有值始终具有当前日期。
我想知道是否有可能第一次使用today()
。因此我尝试过这样的事情:
if(AND(len(A1)=0,len(B1)>0), today(), "")
但是日期仍然更新为当前日期。
我的第二种方法是在单元格中设置today()
,并在填充B列时尝试复制A列中的值。问题是我需要复制单元格的内容,而不是公式。在这种情况下我不能使用Paste special -> paste values only
,因为是手动交互。在谷歌中搜索一下我发现this link建议此操作复制值而不是公式:
数据 - >验证:
答案 0 :(得分:0)
您可以使用谷歌应用程序脚本onEdit。如果编辑了B列,它将用A填充日期。
function onEdit(e) {
var sheet=e.source.getSheetName()
if( sheet == "Sheet1" ) { //checks that we're on the correct sheet
var column = e.range.getSheet().getActiveCell().getColumn();
if( column == 2 ) { //checks the column
var newCell = e.range.getSheet().getActiveCell().offset(0,-1);//get column A of active row
if( newCell.getValue() === '' ){ //If A is empty?
var d = new Date();// d is now a date object
newCell.setValue(d)}
else{return}
}}