【问题标题】:Applying a formula to all cells in a column, not just one at a time?将公式应用于列中的所有单元格,而不是一次一个?
【发布时间】:2011-07-19 08:48:36
【问题描述】:

在 OpenOffice.org Calc 中,我想将公式应用于引用同一行但在不同列中的单元格的列。即,单元格 D1 中的 =C1*48,但我希望 D 列中的所有单元格都执行此操作,而不必手动将公式复制到每个单元格。或者换一种说法,对于 C 中每个有数字的单元格,我想用基于该数字的公式值填充 D 中的相应行单元格。到目前为止,我从文档中看到的只是我必须为电子表格中的每个新行复制/调整公式。而且由于我有 4 个这样的列需要计算,这将变得很烦人。我完全没有使用电子表格的经验,所以我希望我的问题实际上非常简单,而且我只是查看了文档的错误部分。

【问题讨论】:

  • 我需要类似的东西,只是我需要绝对参考,同时以水平方式扩展公式,但在垂直方式扩展它时需要相对参考。以下来自 OpenOffice 论坛的文章对我很有帮助,也许它也会对其他人有所帮助:forum.openoffice.org/en/forum/viewtopic.php?f=9&t=2443>

标签: openoffice-calc


【解决方案1】:

我面前没有 OpenOffice,但它在很多方面都非常努力地像 Excel 一样,所以通常关于基于 Excel 的 Calc 的假设相当接近现实。

在 Excel 中,单元格 D1 中指向 C1 中的单元格的公式被视为相对引用 - 即从我现在所在的位置返回一列。因此,当该公式填充到其他单元格时(通过 Fill Down,或拖动单元格轮廓角落的小手柄,或通过将公式复制粘贴到选定单元格范围内)默认情况下,新公式的处理方式类似,因为它引用的是同一行中距它们一列的单元格。

要强制公式使用绝对引用,可以使用美元符号指定单元格地址 - $C$1 将始终指向(使用)单元格 C1 的内容,而不管公式在哪里结束。 ($C1 和 C$1 是替代项,允许地址的一个参数以通常的相对意义发生变化,同时将另一半固定在适当的位置……这对您来说可能并不重要)。

换句话说,我希望您可以在 OpenOffice Calc 表的第一行中键入公式并将它们复制到该行的其余部分,这样就可以正常工作了。

【讨论】:

    【解决方案2】:

    如果您想向下扩展您的范围,您可以通过使用公式计算前 2 个单元格然后突出显示它们来做到这一点。现在,您可以抓住突出显示区域右下角的小方块并将其向下、横向或同时拖动。

    如果您希望将某个特定单元格(例如 D2)保留在您将范围扩展到的所有单元格中,则在您的 2 个初始单元格计算中使用以下内容:

    向下延伸

    =G2*D$2
    =G3*D$2
    

    扩展

    =G2*$D2
    =H2*$D2
    

    向下延伸

    Use $D$2
    

    【讨论】:

    • 这非常适合我的需要:仅更新 vlookup 函数中的查找值,但不让工具增加数据表值。完美!
    【解决方案3】:

    从您的问题看来,您似乎正在尝试对整行(或列)单元格应用相同的公式,并在另一行(或列)上显示结果。

    最好的方法是使用称为数组公式或数组函数(在 libre office 中)。这个链接有很好的解释-https://help.libreoffice.org/Calc/Array_Functions

    在你的情况下你会实现这个的方式是

    Type this formula in cell D1

    =C1:C30 *48
    

    and press ctrl + shift + enter

    公式现在看起来像这样,带有花括号{..}

    ={C1:C30 *48}
    

    公式从 D1 一直应用到 D30。

    您甚至可以将相同的概念外推到整个矩阵(例如:A1:C10

    (告诉excel/open office/libre office你写了一个数组公式的方法是按ctrl + shift + enter。千万不要按enter,因为这会破坏数组函数并将其转换为常规函数)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 2017-07-18
      • 1970-01-01
      • 2019-11-01
      相关资源
      最近更新 更多