当 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()); 
    } 
  }
}