当我在单元格中键入“产品”时。旁边的单元格将通过下拉菜单显示可用变化的列表?
这样吗? 这是数据表
data纸 | A列| B列|列C | | -------- | -------- | -------- | |单元1 |产品|变体| |单元2 |机器人|蓝色| |单元3 |士兵|黄色| |单元4 |机器人|绿色|我希望做这样的事情 当我在单元格中键入“机器人”时。旁边的单元格将限制我的选择/数据验证,或将选择/数据验证过滤到机器人下的“变化”。
新纸 | A列| B列|列C | | -------- | -------- | -------- | |单元1 |产品|变体| |单元2 |我在这里输入机器人|可用变化的选择出现在此处|
可能会有可能吗?
为产品创建了一项变化的下降 您可以使用Google Apps脚本来实现此目标,将值从
DATA SHEET
NEW SHEET
用户使用
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var targetSheetName = "NEW SHEET";
var dataSheetName = "DATA SHEET";
if (sheet.getName() !== targetSheetName) {
return;
}
var editedCell = e.range;
var product = editedCell.getValue().toString().toLowerCase();
var nextColumn = editedCell.getColumn() + 1;
if (editedCell.getRow() === 1) {
return;
}
var dataSheet = e.source.getSheetByName(dataSheetName);
var dataRange = dataSheet.getDataRange().getValues();
var variations = [];
for (var i = 1; i < dataRange.length; i++) {
if (dataRange[i][0].toString().toLowerCase() === product) {
variations.push(dataRange[i][1]);
}
}
var validationRange = sheet.getRange(editedCell.getRow(), nextColumn);
if (variations.length > 0) {
var rule = SpreadsheetApp.newDataValidation()
.requireValueInList(variations, true)
.build();
validationRange.setDataValidation(rule);
} else {
validationRange.setDataValidation(null);
}
}
样本输出
data板
蓝色 | |
---|---|
参考 |