[英]Copy a very large number of rows from one sheet to another, excluding blank rows in Excel 2010
我目前正在使用以下公式在excel工作簿上进行工作,以将所有行从一个工作表(Creation_Series_R)复制到另一工作表(不包括空行)。
{= IFERROR(INDEX(Creation_Series_R!C:C; SMALL(IF(Creation_Series_R!$ C $ 3:$ C $ 20402 <>“” ;; ROW(Creation_Series_R!$ C $ 3:$ C $ 20402)); ROW()-ROW( Creation_Series_R!$ C $ 3)+1));“”)}
该公式效果很好。 除外,当我进行概念验证时,我只有几行,但只有最终数据,我需要处理20400行...此外,我有17列和3个具有相似公式的相似工作表,每当我输入一个值时,工作簿就需要一个小时来计算。
该工作簿的设计目的是让客户输入数据,然后重新组织数据,以便可以将其直接导入我们的软件中。 我已经限制了用户可以在每个工作簿中输入的数据数量(这使他们非常失望),所以我不能真正将其减少到少于20400行(这只是100笔资金的财务数据)。
有没有办法,即使使用宏,我也可以更有效地做到这一点?
数组公式的一大障碍是(按时间)破坏性能。
如果您的数据在A到Q列中,那么我将使用R列作为“帮助”列。 在R2中插入:
=COUNTA(A2:Q2)
然后抄下来 该宏将:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.