LibreOffice Calc - 如何从引用同一行的多行中拖动填充一系列

LibreOffice Calc - how to drag-fill a series from multiple rows that all reference the same row

我有几行单元格,这些单元格都引用了另一行 sheet:

=Sheet2.A1
=Sheet2.B1
=Sheet2.C1

当我 select 这些单元格并拖动填充柄来填充下面的单元格时,Calc 会像这样填充它们:

=Sheet2.A4
=Sheet2.B4
=Sheet2.C4
=Sheet2.A7
=Sheet2.B7
=Sheet2.C7
etc.

我猜这是因为每个新行都比原始行低三个单元格。

这不是我想要的行为 - 我想将它们填入一个系列,如下所示:

=Sheet2.A2
=Sheet2.B2
=Sheet2.C2
=Sheet2.A3
=Sheet2.B3
=Sheet2.C3
=Sheet2.A4
=Sheet2.B4
=Sheet2.C4
etc.

知道怎么做吗?

我想使用公式或手动方式来执行此操作 - 我不熟悉宏,因此请尽可能避免使用。

手动方式(我喜欢这个建议,我以前从未想过使用Calc来自动化填写电子表格公式的过程,但它是可行的):

  1. 打开一个新的 Calc 文件
  2. 将单元格 A1 格式化为文本
  3. 输入 =Sheet2。进入 A1(A1 现在应该显示 =Sheet2。字面意思)
  4. 分别在B1、B2、B3中输入A B C
  5. select B1 到 B3 并向下拖动(应该重复系列 A,B,C,A,B,C...)
  6. 将 =FLOOR((ROW()-1)/3)+2 键入 C1(ROW() 从 1 开始计数,因此为 -1)
  7. 向下拖动(它应该给你系列 2,2,2,3,3,3,4,4,4...)
  8. 在 D1 中输入 =A$1&B1&C1(D1 现在应该按字面显示 =Sheet2.A2)
  9. 向下拖动 D1,它应该会为您提供所需的系列
  10. 现在:复制那个
  11. 将其粘贴到任何记事本或类似的纯文本编辑器中
  12. 复制那个
  13. 将其粘贴到您希望首先拥有这一系列参考的 Calc 电子表格中
  14. 它应该会打开一个文本导入对话框 - 只需确保所有内容都粘贴到一列中并点击确定

  • 优点:从现在开始,当您的同事看到您这样做时,您将被视为 LibreOffice 大神
  • 缺点:不是很动态(如果发生变化,您将不得不重复整个过程)

公式方式: 使用 OFFSET。 例如:=OFFSET(Sheet2.$A;FLOOR((ROW()-1)/3);MOD(ROW()-1;3))

  • 优点:更容易修改
  • 缺点:如果结果不是您所期望的,则更难调试