当 A2:A 中的相邻单元格有数据时,强制下拉列表显示在 B2:B 中
Force Dropdowns to Display in B2:B When Adjacent Cell in A2:A Has Data
在此 sample Google Sheet that you can edit 中,我尝试将 B2:B 中的数据验证下拉菜单配置为仅在 A2:A 中的相邻单元格中包含数据时显示。正如您在我的电子表格中看到的那样,我的数据验证配置正确,但它会一直在 B 列下方插入下拉菜单,即使 A 列旁边没有数据,我不希望这样。
如何将其配置为仅当 A 列的相邻单元格中有数据时才显示数据验证下拉菜单?
感谢您的帮助!
你需要一个脚本
function onEdit(event){
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if (r.getColumn() == 1 && s.getName() == 'Dropdowns'){
r.offset(0,1).clearContent()
if (r.getValue() == ''){
r.offset(0,1).clearDataValidations();
}
else{
var lists = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Colors');
r.offset(0,1).setDataValidation(SpreadsheetApp.newDataValidation()
.setAllowInvalid(true)
.requireValueInRange(lists.getRange('A2:A'+lists.getLastRow()), true)
.build());
}
}
}
在此 sample Google Sheet that you can edit 中,我尝试将 B2:B 中的数据验证下拉菜单配置为仅在 A2:A 中的相邻单元格中包含数据时显示。正如您在我的电子表格中看到的那样,我的数据验证配置正确,但它会一直在 B 列下方插入下拉菜单,即使 A 列旁边没有数据,我不希望这样。
如何将其配置为仅当 A 列的相邻单元格中有数据时才显示数据验证下拉菜单?
感谢您的帮助!
你需要一个脚本
function onEdit(event){
var s = event.source.getActiveSheet();
var r = event.source.getActiveRange();
if (r.getColumn() == 1 && s.getName() == 'Dropdowns'){
r.offset(0,1).clearContent()
if (r.getValue() == ''){
r.offset(0,1).clearDataValidations();
}
else{
var lists = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Colors');
r.offset(0,1).setDataValidation(SpreadsheetApp.newDataValidation()
.setAllowInvalid(true)
.requireValueInRange(lists.getRange('A2:A'+lists.getLastRow()), true)
.build());
}
}
}