基于VLookup的dynamic数据validation列表

我正在尝试向我的电子表格中添加一个自定义的“折扣”列表。

我有一张包含所有数据的表格,标准“已使用”值的成本,以及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 | +---------+-------------------+------+------------+-------------+ 

然后,我有一个数据validation列表,返回所有其他'angular色'select。 在这背面填充成本单元格。

例:

 +----------+----------+----------+-------+ | 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%", "")) 

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

我目前正在使用这个试图填充折扣下拉

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