excel - 如何创建具有动态验证列表的下拉菜单
问题描述
我有包含“类别”和“产品”列的数据表。产品名称不是唯一的,类别名称不是唯一的,但类别-产品组合在表中只出现一次。此数据表未以任何方式排序。
Category Product
======== =======
Chairs Victorian
Chairs Beautiful
Chairs Edwardian
Chairs Gross
Tables Victorian
Tables Edwardian
Tables Huge
Tables Kool
Tables Lambda
Closets Edwardian
Closets Excellent
Closets Major
Closets Hello
Chairs Huge
Tables Picturesque
Closets Picturesque
Chairs Incredible
Closets Minor
Chairs Just
Chairs Kool
我已经创建了具有唯一类别名称的临时表,它将用作第一个下拉列表的验证范围。这部分工作正常。
Categories
==========
Chairs
Tables
Closets
在第一个下拉列表旁边,我有另一个下拉列表,它应该动态创建在上一个下拉列表中选择的类别的产品列表。
如果仅针对一对下拉菜单(类别/产品),我可以使用临时列创建令人满意的结果。
Category: Chairs Product: Victorian
Beautiful
Edwardian
Gross
Huge
. . .
问题是这个下拉对应该是另一个包含列的表的一部分:'Category'、'Product'、'Amount'。因此,当用户在第一列类别下拉值“椅子”中选择时,下一列下拉列表中的列表中应该只有“椅子”类别中的产品可用。在下一行中,当用户选择“表格”类别时,相邻单元格中应该只有“表格”类别中的产品可用。
我试图在没有 VBA 代码的情况下仅使用公式、数组公式、命名函数(不要将它们与 UDF 函数混淆)来实现这一点。
有可能这样做还是我在浪费时间(已经 2 天了)?
Excel文件与我已经做过的:这里
更新(2019-09-30):
在评论中发现这一点:'但是,Excel 不允许您在数据验证中使用数组公式, ' ... Fernando J. Rivera 2017 年 11 月 4 日在Excel 动态下拉列表中过滤表
因此,这意味着不可能进行动态数据验证。
解决方案
推荐阅读
- django - 简单的鹡鸰流域模板不起作用
- asp.net-mvc - 如何引用到 ASP.NET MVC 上的本地文件夹
- firefox - Webdriver firefox:不支持带有名称()的xpath
- python - 如何提取特定类别之前的最后 3 个索引编号
- node.js - Heroku 中的构建错误:错误 TS2307:找不到模块 'rxjs/subscription'
- php - 在 Python 中使用烧瓶进行 Hmac 验证(在 PHP 和 RUBY 中有参考)
- java - 动作监听器不更新java中的变量
- hashicorp-vault - `vault kv put ...`的权限被拒绝
- c++ - 使用 Windows 加密 API 将 RSA_CSP_PUBLICKEYBLOB 导出为 DER/PEM
- aframe - 如何弯曲平面实体以匹配球面?