简体   繁体   English

自定义公式数据验证

[英]Custom Formula Data Validation

Can we set the following data validation rule across a range to prevent duplicate entries?我们可以在一个范围内设置以下数据验证规则以防止重复条目吗?

=COUNTIF(B$6:B,B6)<2

The above custom formula in Data Validation stops duplicate entries in column B from row 6 downwards, so the rule on the 15th column would be:数据验证中的上述自定义公式从第 6 行向下停止 B 列中的重复条目,因此第 15 列的规则为:

=COUNTIF(B$6:B,B15)<2

Can we do this programmatically in GAS?我们可以在 GAS 中以编程方式执行此操作吗?

Solution:解决方案:

The Data Validation Builder can define a data validation rule across a range: 数据验证生成器可以定义一个范围内的数据验证规则:

Sample Code:示例代码:

function myFunction() {
  var cell = SpreadsheetApp.getActive().getRange("B6:B");
  var rule = SpreadsheetApp.newDataValidation().requireFormulaSatisfied("=COUNTIF(B$6:B,B6)<2").build();
  cell.setDataValidation(rule);
}

Sample Sheet:样品表:

在此处输入图像描述

PS If you want to reject duplicate values, you can add .setAllowInvalid(false) to the rule definition. PS 如果要拒绝重复值,可以在规则定义中添加.setAllowInvalid(false)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM