在 UNIQUE 公式列出另一个值后更新单元格值
Update cells values after UNIQUE formula lists another value
我有一个Google点差sheet来计算我的财务费用。有几个类别,例如食物。每次我添加一个新类别时,UNIQUE value 都会添加该值。 sheet 适用于几个人,所以我有几个独特的公式,每个人一个。
我创建了一个脚本,它将所有值从 UNIQUE 公式复制到一列,然后使其唯一以确保所有人都具有相同的类别。
我想让它自动进行,所以每次添加新类别时,都会更新其中一个唯一列表,并且应该启动脚本。但是,有我的问题。 onEdit 脚本不会检测来自 UNIQUE 公式的更改。
onEdit 脚本不工作。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var range = e.range;
var editRange = { // B4:J6
top : 3,
bottom : 20,
left : 22,
right : 23
};
// Exit if we're out of range
var thisRow = e.range.getRow();
if (thisRow < editRange.top || thisRow > editRange.bottom) return;
var thisCol = e.range.getColumn();
if (thisCol < editRange.left || thisCol > editRange.right) return;
sheet.getRange('X3:X1000').clearContent();
var base = 3;
var counter = 3;
var counterResult = 3;
while(sheet.getRange(counter, 22).getValue().length != 0){
var getValue = sheet.getRange(counter++, 22).getValue();
sheet.getRange(counterResult++, 24).setValue(getValue);
}
counter = base;
while(sheet.getRange(counter, 23).getValue().length != 0){
var getValue = sheet.getRange(counter++, 23).getValue();
sheet.getRange(counterResult++, 24).setValue(getValue);
}
}
检测 UNIQUE 公式变化的函数。
Wow! I did not know I can add 2 parameters with {}. This solves my problem! Thank you!
=UNIQUE({A:A;B:B})
并杀空唯一:
=QUERY(UNIQUE({A:A;B:B}), "where Col1 is not null", 0)
我有一个Google点差sheet来计算我的财务费用。有几个类别,例如食物。每次我添加一个新类别时,UNIQUE value 都会添加该值。 sheet 适用于几个人,所以我有几个独特的公式,每个人一个。
我创建了一个脚本,它将所有值从 UNIQUE 公式复制到一列,然后使其唯一以确保所有人都具有相同的类别。
我想让它自动进行,所以每次添加新类别时,都会更新其中一个唯一列表,并且应该启动脚本。但是,有我的问题。 onEdit 脚本不会检测来自 UNIQUE 公式的更改。
onEdit 脚本不工作。
function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var range = e.range;
var editRange = { // B4:J6
top : 3,
bottom : 20,
left : 22,
right : 23
};
// Exit if we're out of range
var thisRow = e.range.getRow();
if (thisRow < editRange.top || thisRow > editRange.bottom) return;
var thisCol = e.range.getColumn();
if (thisCol < editRange.left || thisCol > editRange.right) return;
sheet.getRange('X3:X1000').clearContent();
var base = 3;
var counter = 3;
var counterResult = 3;
while(sheet.getRange(counter, 22).getValue().length != 0){
var getValue = sheet.getRange(counter++, 22).getValue();
sheet.getRange(counterResult++, 24).setValue(getValue);
}
counter = base;
while(sheet.getRange(counter, 23).getValue().length != 0){
var getValue = sheet.getRange(counter++, 23).getValue();
sheet.getRange(counterResult++, 24).setValue(getValue);
}
}
检测 UNIQUE 公式变化的函数。
Wow! I did not know I can add 2 parameters with {}. This solves my problem! Thank you!
=UNIQUE({A:A;B:B})
并杀空唯一:
=QUERY(UNIQUE({A:A;B:B}), "where Col1 is not null", 0)