我在 Libre Office Calc 中有一个如下所示的电子表格:
+-----------+
| | A |
| 1 | 444 |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| n | |
| n+1 | 938 |
+-----------+
以 A(1) < A(n+1) 为例,444 和 938。
有没有办法自动用整数值填充 A(1) 和 A(n+1) 之间的单元格(如果需要,可以重复它们)?
预期结果:
+-----------+ +-----------+
| | A | | | A |
| 1 | 444 | | 1 | 444 |
| 2 | | | 2 | 527 |
| 3 | | | 3 | 610 |
| 4 | | | 4 | 693 |
| 5 | | | 5 | 776 |
| 6 | | | 6 | 859 |
| 7 | 938 | | 7 | 938 |
+-----------+ +-----------+
另一个例子:
+-----------+ +-----------+
| | A | | | A |
| 1 | 5 | | 1 | 5 |
| 2 | | | 2 | 5 |
| 3 | | | 3 | 6 |
| 4 | | | 4 | 6 |
| 5 | | | 5 | 7 |
| 6 | | | 6 | 7 |
| 7 | 8 | | 7 | 8 |
+-----------+ +-----------+
谢谢。
答案1
如果希望实现均匀分布,将每个单元格四舍五入为下一个整数,请在单元格 A2 中输入以下公式:
=ROUNDUP(A$1+(ROW()-ROW(A$1))*(A$7-A$1)/(ROW(A$7)-ROW(A$1)))
替换n最后一个值所在的行(示例中为 7)。然后将单元格向下复制到 An (不是安+1)。
如果您想要与示例中相同的值,请采用以下公式:
=ROUNDUP(A1+(A$n-A$1)/(ROW(A$n)-ROW(A$1)))
但这个公式存在严重的舍入偏差:这在每一行中添加了一个向上舍入的值 83,但最后一步只剩下 79,这使得它明显变小了。在上面的公式中,每一行的舍入差值在 82 和 83 之间变化,从而导致分布更加均匀。
答案2
您可以“手动”完成此操作:
- 添加一个值为 1,...,7 的列(我的答案中的 A 列,数字 444 和 938 在 B 列)
- 计算两个单元格之间的差异:(
TEMPCELL = ROUNDUP((B7-B1)/(A7-A1);0)
您似乎想要更大的数字,因此我使用了ROUNDUP
) - 在 B 列的每个空单元格中输入
=(A2-1)*TEMPCELL+$B$1
或者(第二个想法,我觉得更好)
- 不要使用“辅助列”,只需计算值
TEMPCELL
(因为示例中的 A7-A1 只有 6,因此此步骤中不需要 A 列) - 在 444 下方的单元格中,输入
=B1+TEMPCELL
公式并向下拖动