如何在Calc(或Excel)上定义动态范围?

时间:2012-02-07 15:35:01

标签: excel range libreoffice-calc

让我们说我有一个Libreoffice.org Calc(也许这适用于MS Excel)对象被定义为范围$Sheet1.$A$1:$A$4

我还声明了一个值为1的常量。对于这个模型目的,让我们称之为startingLine

在“定义名称”对话框中正确定义了两个对象(快捷键:Ctrl + F3)。

我想要做的是将定义范围的转换为变量。在我看来,它所要做的只是将它定义为:$Sheet1.$A$startingLine:$A$4,但这并不起作用。 : - /

我正在寻找一个简单的电子表格解决方案,遗憾的是,这次我们不会为我做这件事。但是,使用R1C1参考的解决方案就足够了。 :)

任何帮助都将非常赞赏!

2 个答案:

答案 0 :(得分:11)

您需要使用此公式的版本(excel) =CELL("contents",INDIRECT(CONCATENATE("A",startingLine)))
这为您提供了单元格A1的内容,其中startingLine是常数1.此外,如果我们将endingLine定义为A,我们可以在公式中替换A: =CELL("contents",INDIRECT(CONCATENATE(endingLine,startingLine)))

为您定义范围可能是=INDIRECT(CONCATENATE("$sheet1.$A$",startingLine,":$A$4"))
例如总和(在excel中)=SUM((INDIRECT(CONCATENATE("$A$",startingLine,":$A$4"))))但我不熟悉libreoffice中的定义范围

答案 1 :(得分:1)

要利用LibreOffice calc中列表的结果作为辅助列表的定义,以下方法有效:

DATA>DEFINE RANGE中定义的第一个列表,例如"早餐","晚餐"其中每个项目都是一个包含多行的列表,并且统称为" Breakfast"或"晚餐"。
detailed menu choices

名为"早餐"的名单的定义可能包括:培根,豆类,鸡蛋,哈希布朗,蘑菇等......此列表最好在单独的表格中定义。

如果您想根据选择"早餐"从每个列表中选择菜单选项。或"晚餐"您需要使用这两个选项在数据>有效性中定义的列表。假设这是在单元格A2中定义的 Top level choices

连接名为" Breakfast"的两个详细菜单选项​​。或"晚餐"选择其中之一,使用公式:

=indirect(A2)

说单元格C2。

当您从A2中的已定义列表中选择一个选项时,电子表格现在将使用单元格A2中的条目在单元格C2中提供正确的选项列表。

我希望这是有道理的 - 并且非常感谢Waldir Leoncio的提醒!