【问题标题】:Excel : populate data validation dropdown list using a single formula that gets multiple values from lookup with multiple criteriaExcel:使用单个公式填充数据验证下拉列表,该公式从具有多个条件的查找中获取多个值
【发布时间】:2014-01-16 21:36:50
【问题描述】:

我花了一天时间在网上寻找解决方案。因此,我们将非常感谢任何帮助。

我需要能够使用从查找公式的结果中获得的值动态填充数据验证下拉列表。这可能吗?

对于 700 行中的每一行,我需要 2 个这样的下拉框。

样本数据:

颜色和尺寸数据将从这张表中提取:


成本价格表

品牌      代码     实际颜色    实际尺寸          成本

TOPSPORT  TTA01           COL。 S,M,L,XL,XXL                 1.26
TOPSPORT  TTA01            COL。 XXXL                         1.36
TOPSPORT  TTA01          WHT。 S,M,L,XL,XXL               1.26
TOPSPORT  TTA01          WHT。 XXXL                         1.36
RUSSELL      RTA09          颜色 S-XXL                       1.44


并用作以下工作表中标记为 [*1] 和 [*2] 的单元格中的下拉列表中的值:

销售价格表

品牌      代码     颜色  尺寸      成本    实际颜色           实际尺寸

TOPSPORT  TTA01     Cols S-XXL [?] [*1] [*2]
TOPSPORT  TTA01     Cols 3XL                 [?] [*1] [*2]
TOPSPORT  TTA01     白色 S-XXL [?] [*1] [*2]
TOPSPORT  TTA01     白色 3XL               [?] [*1] [*2]


    So, according to the above example...
    Cells marked [*1] should house a dropdown with options of "WHT." and "COL."
    Cells marked [*2] should house a dropdown with options of "S,M,L,XL,XXL" and "XXXL"
    Cells marked [?] will use these dropdown values in a lookup formula 
                     to pull in the Cost Price from COST PRICES SHEET.

问题...

我可以在“数据验证”公式框中使用一些可以做到这一点的公式吗? 如果没有,还有其他方法可以填充下拉列表吗?


进一步阅读

为什么这一切都是必需的?

因为 COST PRICES SHEET 包含来自数十个不同供应商的价格信息,每个供应商都有不同的表达方式(例如,“White”、“WHIT”、“WHIT.”、“Wht”、“WH “ 等等)。因此,无法从 SALES PRICES SHEET 中进行简单的查找,因为销售表使用标准字符串来定义一个术语(例如“White”),该术语无法找到不同供应商使用的各种拼写。

因此,如果每个供应商对产品的所有颜色/尺寸选项使用的特定值在销售价格表中可用,则用户可以选择适用于该记录的颜色和尺寸选项,从而启用查找使用这些值的公式将适当的成本价格从 COST PRICES SHEET 提取到 SALES PRICES SHEET 的 COST 列中。

每月更新大约 5000 行成本价格,手动标准化使用的各种拼写是不可行的。

HERE下载实际的Excel文件

(忽略下载文件中的“设置表”)。

【问题讨论】:

  • 您的问题到底是什么? (如果是“有人可以给我写代码吗”那你就来错地方了……)
  • 很抱歉,如果文字太重。 (背景信息是为了以防我所要求的内容无关紧要,因为有人可以看到实现相同最终结果的完全不同的方式。无论如何,实际的问题是:如何动态填充数据验证下拉列表通过使用 2 个标准的查找公式的所有多个结果?这更有意义吗?PS。我已经编写了 95% 的代码,但只是停留在最后一个问题上:
  • 一点 - 它有点 TLDR。我建议你清理你的 Q (删除背景故事 - 或者至少将其作为可选阅读推到底部,添加一些示例数据,添加你尝试过的内容,简洁地描述你想要实现的目标,并确保它在主题)就目前而言,它有被关闭的风险。
  • 感谢克里斯的提示。这是怎么...?
  • 更好,但我希望看到一些示例数据在问题中。我在这里看到两种可能性:使用dynamic named range(SO 上的很多示例,通常在网络上,good start here)或编写一个 VBA UDF,将验证列表作为数组返回,使用 UDF 作为验证源。

标签: excel vlookup validation


【解决方案1】:

您正在寻找这样的东西。 Dynamic Data Validation 我在办公室跑的一张纸上有这样的东西。不过,我同意 Chris 的观点,即 VBA 可能会是一个更强大的长期解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-20
    • 1970-01-01
    • 2013-04-23
    • 1970-01-01
    相关资源
    最近更新 更多