基于VLookup的动态数据验证列表

时间:2015-12-18 12:05:53

标签: excel

我试图添加自定义'折扣'列表到我的电子表格。

我有一张包含所有数据的表格,并且已经使用了标准费用'价值,然后是5%折扣和10%折扣的价值。

示例:

+---------+-------------------+------+------------+-------------+
|  Code   |       Role        | Used | Used - 5%  | Used - 10%  |
+=========+===================+======+============+=============+
| Test001 |     Employee      | 5.67 |            |             |
+---------+-------------------+------+------------+-------------+
| Test002 | Junior Technician | 9.80 |    9.31    |    8.38     |
+---------+-------------------+------+------------+-------------+
| Test003 |  Project Manager  |  15  |            |             |
+---------+-------------------+------+------------+-------------+
| Test004 |     Engineer      |  20  |     19     |    17.10    |
+---------+-------------------+------+------------+-------------+

然后我获得了一个数据验证列表,该列表返回所有其他角色'选择。在此背面填充Cost单元格。

示例:

+----------+----------+----------+-------+
|   Role   | VLOOKUP  | Discount | Cost  |
+==========+==========+==========+=======+
| Employee |          |          | 5.67  |
+----------+----------+----------+-------+
| Engineer |  5%,10%  |   10%    | 15.10 |
+----------+----------+----------+-------+

我想要做的是有一个列表,如果有该选项,则填充5%,10%。我希望在没有vba的情况下实现这一目标(我可以轻松地通过vba实现这一点,但试图将其全部保存在工作表中)

我的VLOOKUP列填充使用:

=CONCATENATE(IF(VLOOKUP(A2,INDIRECT("Test[[Role]:[Used - 10%]]"), 3, FALSE) <> "", "5%", ""), 
IF(VLOOKUP(A2,INDIRECT("Test[[Role]:[Used - 10%]]"), 4, FALSE) <> "", ",10%", ""))

尝试进行数据验证时会出现问题。它接受公式(尝试使用上面的方法在数据验证中无效),但只使用5%,10%的一个值填充下拉列表,而不是将其解释为csv。

我目前正在使用此功能尝试填充折扣下拉

=OFFSET(INDIRECT(ADDRESS(ROW(), COLUMN())),0, -1)

0 个答案:

没有答案