如何确保我的公式仅在带输入的单元格中?

时间:2016-11-25 10:07:15

标签: excel excel-formula

我目前有一个公式,可以将单元格中的单元格复制到新列。它看起来像这样:

=IF(INDEX(Sheet1!B9:B1048576;1;0)=0;"";INDEX(Sheet1!B9:B1048576;1;0))

我所做的就是将这个公式复制到整个专栏:

C6:C1048576

我之所以需要这个,是因为我不知道第1页上的数据有多大。这个问题是,它使我的excel非常慢,因为它不断计算所有这些数百万个未使用的单元格。所以我正在寻找一种方法来避免在数百万个单元格中复制我的公式。

我在想,也许我可以创建一个用文本计算单元格数量的函数,基于此我只能插入我的公式。但我似乎无法找到办法如何做到这一点。

也许甚至有更简单的方法将单元格从一列复制到新列?

1 个答案:

答案 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个数据行不空白,它会提醒你?或者是一个警告函数,它会计算公式列和数据列中的非空格,并提醒您是否有比公式行更多的数据行?