最佳实践

最佳实践

我希望有人能帮助我。我有一个电子表格,其中列出了一系列步骤。这些步骤有几个部分,每个部分都有一个部分编号(1、2、3 等)。这个数字列在一个单元格中,我使用以下函数生成一个编号方案,形式为<sectionNum>.<stepNum>,其中<stepNum> = 1表示每个部分的第一步。

我正在使用以下函数自动生成此列表:

=CONCATENATE($A$22,".",(ROWS($A$22:A97)-2))

包含节号的单元格在哪里$A$22(静态文本 - 没有公式),A97 是当前要编号的单元格。在本例中,有一行包含不需编号的注释,因此我减去 2,这样第一个<stepNum> = 1.

这对于部分文件非常有效。然后我点击了另一个注释行,不得不调整公式以减去 3 而不是 2,以继续编号。但是,当我尝试更改公式时,单元格开始表现得好像数据是文本而不是公式。我已检查以确保'行首没有,并尝试使用单元格的不同格式,但没有任何变化。我无法让它评估公式。不仅如此,我也无法使我在单元格中输入的任何其他公式起作用。所有公式都显示相同的文本版本公式。

我正在尝试弄清楚我是否可能超出了函数的限制。在遇到此问题之前,我已经到了第 6 节,每个节使用公式的单元格数量为:

1: 5
2: 4
3: 3
4: 1
5: 2
6: 79

担心是否超出使用限制的问题是 Excel将要仍然允许我将现有单元格(仍在评估函数)复制并粘贴到新单元格中并对其进行评估。但即使我只是从公式栏复制函数(或单元格内容,而不是整个单元格),并且尚未将其粘贴到任何地方,它也会切换到仅显示公式文本。粘贴 - 甚至只是打字– 将完全相同的函数放入另一个单元格会导致它再次显示公式文本。编辑任何单元格中的公式(即使是之前可以正常工作的单元格)都会导致单元格将公式显示为文本。我所做的就是将其替换-2-3!

我使用了通用编号公式(只需在前一个单元格的内容上添加 1 或 2 即可获取当前单元格的内容),并且能够毫无问题地深入数百行,所以我有点怀疑我实际上已经达到了极限,但如果可能的话,我想排除这种可能性。

我在 64 位 Windows 10 操作系统上运行 MS Excel 2013。文件在我的桌面上,所以不应该有任何与网络相关的问题。唯一带有公式的单元格是我已编号的单元格 - 其余都是静态文本。单元格有很多颜色编码,但除此之外,这是一个非常普通的电子表格。

我尝试在其他选项卡上输入公式,但没有成功。我尝试退出并重新启动 Excel,但没有成功。我尝试重新启动我的电脑,但没有成功。我无法升级到更高版本的 Excel,因为这是一台工作电脑,所有更新都必须通过 IT 部门进行——我预计近期不会有下一个更新。

我现在只写了 100 多行,我预计写完后会超过 1000 行。想到我必须手动管理所有编号,我就不寒而栗。

答案1

我的 Excel 工作表中有超过一千两百万个公式;我认为没有任何限制。

您的问题可能是单元格格式设置为“文本”,您输入的任何内容都被视为文本。将格式更改为“常规”,然后编辑内容(添加 x 并删除它),它应该可以正常工作。或者,您可以将工作公式复制到字段中(也会复制格式),然后根据需要进行编辑。

答案2

100 行远远达不到极限。每个电子表格可以有 1,048,576 x 16,384 个单元格,工作簿中的工作表数量没有限制,这样您的工作簿中就可以有数十亿、数万亿(甚至更多)个公式。

关于你的问题,它太宽泛了。如果没有演示,我认为没有人可以回答。但如果数据在输入或复制时自动更改类型,那么我认为这是因为某些加载项行为不当


顺便问一下,你为什么要用CONCATENATE?我从来没有发现我需要在生活中使用它。将公式更改为

=$A$22 & "." & (ROWS($A$22:A97)-2))

Excel 建议如下:

最佳实践

  • 做这个:

    使用与号 & 字符代替 CONCATENATE 函数。

  • 描述:

    使用 & 符号 ( &) 计算运算符,您可以连接文本项,而无需使用函数。

    例如,=A1 & B1返回的值与 相同=CONCATENATE(A1,B1)。在许多情况下,使用 & 运算符比使用 CONCATENATE 创建字符串更快捷、更简单。

https://support.office.com/en-us/article/CONCATENATE-function-8f8ae884-2ca8-4f7a-b093-75d702bea31d

另一个重要说明

重要提示:在 Excel 2016、Excel Mobile 和 Excel Online 中,此功能已替换为CONCAT功能。尽管 CONCATENATE 函数仍可用于向后兼容,但从现在开始您应该考虑使用 CONCAT。这是因为 CONCATENATE 可能在 Excel 的未来版本中不可用。

相关内容