我目前有一个公式,可以将单元格中的单元格复制到新列。它看起来像这样:
=IF(INDEX(Sheet1!B9:B1048576;1;0)=0;"";INDEX(Sheet1!B9:B1048576;1;0))
我所做的就是将这个公式复制到整个专栏:
C6:C1048576
我之所以需要这个,是因为我不知道第1页上的数据有多大。这个问题是,它使我的excel非常慢,因为它不断计算所有这些数百万个未使用的单元格。所以我正在寻找一种方法来避免在数百万个单元格中复制我的公式。
我在想,也许我可以创建一个用文本计算单元格数量的函数,基于此我只能插入我的公式。但我似乎无法找到办法如何做到这一点。
也许甚至有更简单的方法将单元格从一列复制到新列?
答案 0 :(得分:0)
如果您只是复制一列,为什么还需要index
?您可以将=index(B9:B1234567896,1,0)
替换为=B9
。
事实上,你应该能够写=B:B
- 如果你在单元格A42中写这个,它会查找B42,例如。
(给B:B
一个名称,你可以让事情变得更加清晰:例如=cust_email
。)
如果您确实需要index
,请尝试=index(…)&""
而不是=if(index(…)=0,"",index(…))
,如果您要删除0
,其中index
复制一个空单元格。 (这会将数字转换为文本。)
对于"保持公式与数据同步,我没有一个好的答案。问题。 (我从来没有触及VBA,但那里会有东西。)你可以尝试拥有10,000行公式和警告功能,如果第10,001个数据行不空白,它会提醒你?或者是一个警告函数,它会计算公式列和数据列中的非空格,并提醒您是否有比公式行更多的数据行?