我想创建一个如下图所示的报告。
我的数据有大约500,000个单元格(它将继续变大)
现在,我正在使用excel中的countifs函数,但需要很长时间才能计算出来。 (不能关闭自动计算)
主要价值是作为日期收集的,日期范围约为3年,所以我必须投入大量的公式来涵盖所有价值范围。
result
下图是无法更改顶部数据源的数据源。虽然底部是我自己创造的(可以改变)。我使用weeknum将日期更改为周数。
data
有没有更好的公式或任何方法使这个文件更快?欢迎各种建议!
我正在考虑使用数据透视表,但我不知道如何从这种数据源制作数据透视表。
PS。 VBA是最后一个选择。
您可以在此处下载示例文件:https://www.mediafire.com/?t21s8ngn9mlme2d
答案 0 :(得分:2)
我将在免责声明中发布这个答案,它完全取决于数据集的大小。打开和关闭自动计算是最好的方法,但你的问题不允许我这样做,所以继续阅读。
你的问题让我感到很好奇,所以我试了一下并计时了。我基本上设置了两列超过100,000个兰特数,从1-1000中选择,然后如果它们相等则尝试在两个列上做一个countif。我做了一个我可以运行的宏,关闭自动计算,插入开始时间,计算,然后插入完成时间。我以黄色突出显示时差。
首先我尝试了你的方式,两个标准,countifs:
然后我尝试组合(连接)两列,看看我是否可以通过只有一个countif标准和数据集来更容易。它没有。请参阅下面的结果:
最后,意识到发生了什么。我决定使标准仅匹配要查找的数字中的FIRST值。我基本上减少了每个单元格检查的字符数。这有一个积极的结果。见下文:
因此,我的建议是尽可能限制您所比较的单词的长度。您主要关注日期,因此您可能需要具有创造性,但这似乎是最好的方式而无需进行手动计算。
答案 1 :(得分:1)
我使用过类似尺寸的Excel表格。特别是如果您定期使用数据,我衷心建议切换到适当的数据库SQL,Access或任何适合您的目的。我对速度感到奇怪,而且你也不会遇到Excel的大小限制。 : - )
您现在可以轻松导入您拥有的数据。 我很高兴作为我的postgresql数据库的一个蛤蜊。