1

我在 Excel 工作表中有一个命名范围设置,用于为数据验证下拉菜单提供值。我的源公式基本上是这样的:

=INDIRECT( "OnePartOfTheRangeName" & "AnotherPart" )

范围会根据行中的另一个值而变化,所以这就是我必须组合字符串等的原因。

我想在数据验证列表中添加一个额外的值,但没有任何运气。我认为如果有某种“联合”函数,我可以将 INDIRECT 列表与单个值结合起来,但我一直无法找到这样的函数。

有谁知道另一种方法来解决我的问题?

4

1 回答 1

0

Excel 在其错误消息中非常具体(确实,这是一个不错的变化!):

SO12207603 示例

所以我怀疑尝试直接方法是否值得付出太多努力。我牢记,三年多来没有解决一个完全可以理解的问题可能意味着“不可能”。

但是,可能会使用间接方法,尽管可能会缺少一些细节 - 例如,目前您的命名范围是如何构建的。出于说明的目的,假设它被命名Part1并引用 R1:R12,末尾有空格(以留出扩展空间),中间有空格(以显示多功能性)。假设“另一部分”被命名Part2并指代 S1:S10,中间和结尾(以及开头)也有空格。

然后,数据验证可能是一个列表,其 Source:=whole是范围 T1:T22 命名的whole

然后 T1 将填充:

=IFERROR(INDEX(Part1,SMALL(IF(ISBLANK(Part1),"",ROW(Part1)-MIN(ROW(Part1))+1),ROW(A1))),IFERROR(INDEX(Part2,SMALL(IF(ISBLANK(Part2),"",ROW(Part2)-MIN(ROW(Part2))+1),ROW(A1)-SUMPRODUCT(--NOT((ISBLANK(Part1)))))),""))  

(由 Get Digital Help 提供)使用 ++ 输入并Ctrl复制到 T22。 ShiftEnter

这是动态的,例如在 ColumnR 中添加一个条目会将其添加到 ColumnT 中,而后者又会添加到验证下拉列表中。

缺点包括如果条目未排序,则下拉列表未按顺序排序,并且“扩展空间”在下拉列表中仍然很明显ST

于 2015-12-13T03:28:24.060 回答