使用范围名称作为单元格来源

Using range names as cell source

我一直在尝试在 OpenOffice Calc 中处理这件事,我在电子表格中有两个下拉列表,其中数据来自其他列。为了更好地理解,我附上了一张快照。

单元格 A1-A3 由命名范围表示 countries
单元格 B2-B3 由名称范围 country1.

表示

命名范围 country2country3 分别表示 B5-B6 和 B8-B9。

单元格 A11 是一个下拉列表,范围 'countries' 作为来源,因此它包含以下值:印度、英国、澳大利亚。

单元格 B11 是另一个下拉列表,其值将由 A11 中选择的值确定,即 B11 依赖于 A11。例如,如果我选择 'England',则 B11 中的值必须包含 IJ、KL。换句话说,必须根据 A11 的值将命名范围设置为 B11 的源。

现在的问题是,如果我直接将 B11 的来源设置为一些命名范围,例如 country1,它会成功显示值。我在这里展示了相同的内容:

但是当我使用公式检索相同的范围名称时,它没有显示范围。相反,它只是将范围的名称设置为值,如此处所示

我用于获取源范围的公式是:

CONCATENATE("country" & MATCH(A11;countries;0))

有人可以解释为什么会这样吗?

您必须将公式包装在 INDIRECT 中才能让 Calc 计算范围名称。

附带说明一下,&CONCATENATE 具有相同的功能,没有必要同时使用两者。所以这些公式中的任何一个都有效:

INDIRECT("country" & MATCH(A11;countries;0))
INDIRECT(CONCATENATE("country";MATCH(A11;countries;0)))