LibreOffice计算器:如何在函数/公式中使用变量



之前之后

我正在尝试根据另一个单元格中的数字动态填充一列中的单元格范围。

因此,用E4中设置的值填充x个单元格。x是单元格E5中的值。

如果单元格E4=25,则在某一点下方的所需列中的单元格中填充"E";25〃;x行。如果E5=5,并且起点是A3,则它将用"0"填充A3到A8;25〃;或者任何期望的字符串或公式。

对我来说,它是="层"&ROW((-2,我想将该列中的每个单元格填充到E5中确定的范围。该行中的单元格数量将随着E5 中设置的内容而动态变化

问题是,我找不到在单个单元格的forumula中设置变量并检索其值的方法,而且我也不能使用嵌套公式(SUM(Var1:E1(,其中Var1是字符串E2或类似的东西(

在这种情况下,从单元格A3=第1层开始,它会将每个单元格命名为第2层,然后命名为第3层,直到层数与E5中的值匹配。

我还需要能够在下一列中计算论坛有多少层,这取决于的层数(加1(

我真的对Calc或Excel公式不太了解,但它们不遵循对我来说有意义的惯例。

我猜嵌套的sum函数的工作方式是:=sum(sum(A1:A5(:A6(或=sum。而且似乎没有办法在一个单元格的公式中设置变量。

我还尝试创建一个字符串,该字符串将创建相关的单元格引用,从而创建正确的值,如=("E"&E1(,如果E1设置为5,该值将创建E5,但我不能将该值用作单元格引用

要获得图像中显示的结果,请在单元格D3中输入=IF(ROW(D1)<=E$1;"Layer " & ROW(D1);""),并通过拖动角落中的黑点向下填充到D10。然后更改E1中的值以查看差异。

$表示当公式被复制或填充到其他地方时,不要更改引用中的以下1。否则,公式引用将相对于新位置进行调整。

如果我使用=("E"&E1(来创建"E";E5〃;基于E1中的值,我想使用E5作为单元格引用,而不是字符串。

INDIRECT就是这么做的。

=SUM(SUM(A1:A5(:A6(

它应该是=SUM(SUM(A1:A5);A6)。第一个是一系列单元格,而第二个则提供了一个要包含的附加单元格。例如,您也可以执行=SUM(SUM(A1:A5);A6:A10)

我真的不明白为什么你会期望:;所在的地方工作。我想这会定义一个范围,从SUM结果的行开始,到一个单元格结束?对我来说没有意义。也许你打算做=SUM(INDIRECT("A"&SUM(A1:A5));A6)之类的事情。但我还是不明白为什么会有人想那样做。

电子表格公式不同于编程语言。学习如何有效地使用它们可能需要一些时间。如果您需要实际的编程语言,LibreOffice也对宏提供了广泛的支持,尽管在大多数情况下,可能有更好的方法来解决问题,而不必求助于宏。

最新更新