我目前有一个公式,可以将单元格从某个列复制到一个新列。看起来是这样的:
=IF(INDEX(Sheet1!B9:B1048576;1;0)=0;"";INDEX(Sheet1!B9:B1048576;1;0))我所做的就是把这个公式复制到整个专栏
C6:C1048576我之所以需要这个,是因为我不知道表格1上的数据有多大。问题是,它使我的excel变得非常慢,因为它一直在计算这数百万未使用的单元格。因此,我正在寻找一种方法,以避免抄袭我的公式在数百万细胞。
我在想,也许我可以创建一个函数,用文本来计算单元格的数量,在此基础上,我只能插入我的公式。但我似乎想不出该怎么做。
也许还有更简单的方法把细胞从一个列复制到一个新的列?
发布于 2016-11-25 10:50:35
如果您只是在复制一个列,为什么需要index?您可以用=index(B9:B1234567896,1,0)替换=B9。
实际上,您应该能够编写=B:B --例如,如果您用单元格A42编写它,它将查找B42。
(给B:B起个名字,你就可以让事情变得更清楚了:例如,=cust_email。)
如果您确实需要index,请尝试使用=index(…)&""而不是=if(index(…)=0,"",index(…)),如果要删除0s,index在其中复制空单元格。(这将将数字转换为文本。)
对于“保持公式与数据同步”的问题,我没有一个很好的答案。(我从来没有碰过VBA,但里面会有一些东西。)您可以尝试使用10,000行公式和警告函数来提醒您,如果10,001数据行不是空白的话?还是一个警告函数,它计算公式列和数据列中的非空白值,并警告您是否有比公式行更多的数据行?
https://stackoverflow.com/questions/40802327
复制相似问题