【问题标题】:Set Data Validation on cell based on dropdown from another cell Excel根据另一个单元格 Excel 的下拉列表设置单元格上的数据验证
【发布时间】:2021-03-31 09:01:56
【问题描述】:

我在excel表格中有两列,第一列是bankName,它是银行名称的下拉列表,bankAccountNumber用户将根据他/她选择的银行名称填写帐号。

如果用户选择 HSBC 银行,我想在相邻单元格上添加数据验证,使其长度为 12,并且每当他选择另一家银行时,我想更改相邻单元格验证等等。

我无法像我想要的那样动态更改数据验证,如果有人可以提供帮助吗?

【问题讨论】:

    标签: excel validation excel-formula


    【解决方案1】:

    我的解决方案使用结构化参考表

    假设您有一个名为Tbl_Len 的表格,其中显示了每个银行的帐号长度,如下所示:

    假设您的结果表名为 Tbl_AN,如下所示:

    然后您需要使用以下公式设置一个名为Len_Check命名范围

    =XLOOKUP(Tbl_AN[@[Bank Name]],Tbl_Len[Bank],Tbl_Len[Acct No Length])
    

    如果您的 Excel 版本无法使用 XLOOKUP 功能,您可以使用 INDEX+MATCH 来实现:

    =INDEX(Tbl_Len[Acct No Length],MATCH(Tbl_AN[@[Bank Name]],Tbl_Len[Bank],0))
    

    高亮Tbl_AN表中的Account Number列,设置数据校验如下:

    然后每次输入错误长度的会计号码时都会弹出警告,如下所示(您可以根据需要DIY警告信息):

    如果有任何问题,请告诉我:)

    【讨论】:

    • 感谢您的回答,但是如果验证不仅限于长度,我想检查数字之间的破折号,并且允许多个长度
    • @Zeyad Etman 那么您可能需要我无法提供帮助的 VBA。