很难用简单的方式解释这一点,但可以这样说:
我有两张工作表,在第一张工作表中,其中一列包含冗长的产品描述 - 并且该描述需要不超过 15 个字符,因为它将提交给字段长度固定的数据库使用。
因此,我有了第二张工作表,主要用于缩短产品描述,该工作表只是将整个产品描述列(来自主工作表)复制到列 B 中,并在列 C 中使用 =LEN 计数...然后在列 DI 中可能会使用不同的措辞,直到列 E 中的 =LEN 的字符数不超过 15(然后自动复制回主工作表上名为“缩短名称”的列。
问题是,如果在主表上插入或删除了一行(假设这一更改是在第 10 行进行的),第二张表的 B 列将反映这一更改,因为它只是复制主表上的内容,但现在 B10 理论上会根据主表上插入/删除的内容显示一些新的产品名称,但 D10 仍将具有之前输入的缩写词,对应于之前在 B10 中的内容,因为它与 B 列中所做的更改没有任何联系。
当然,在包含几千行产品的电子表格上,像这样不同步的情况是不可能手动管理的。
有没有办法保持列之间的某种关系,以便一旦将它们锁定在一起,如果有意义的话,它们就会相互跟随?几乎就像永久分组一样 - 因此,如果在源表中删除或插入整行,则会在第二张表上插入或删除同一行(即使在我的情况下,第二张表仅监视和复制源表中的一行)。
我希望这一切都足够有意义,可以给我一些关于应该从哪里开始研究这个问题的建议。
谢谢
答案1
嗯,这是一个很长的问题/解释,答案似乎要短得多。
为了保持单元格引用某个其他单元格并且不受源位置更改的影响,您必须“锁定”行(或列引用)。
如果您的引用D10
甚至像中一样简单,=D10
您可以将其更改为锁定行号,这样即使数据移动(例如由于在其上方插入一行)=D$10
它也不会改变。D10
但有一个警告:参考来源不能在同一张表中!
这比这里描述的要复杂得多......
对于列也是如此,因此=$D10
将阻止列发生变化,当然=$D$10
也会阻止列或行引用发生变化。
如果您编辑公式并希望显示$
- 符号,只需点击F4一次即可。如果您反复点击,您会看到它通过所有可能的组合更改“停止符”。
在 LibreOffice 中略有不同:按住AltGr(右 alt)并点击F4