尝试正确复制公式以保持相同的单元格范围但调整日期范围

问题描述

我正在尝试通过销售数据的Excel电子表格来帮助某人。我希望这个解释很清楚。她针对她所售商品的每个类别都有一个工作表,例如服装,鞋子,家具等。每个工作表的“已售出日期”都有一个G列,并且数据采用“日期”格式。

摘要工作表上,她想汇总和分析数据,她手动做的一件事是计算每个类别每个月的销售量(有时为零)。

我帮助她写了一个公式,将2019年3月的服装工作表中的计数拉到摘要工作表中的一个单元格中:

=COUNTIF($CLOTHING.G3:G502;">2/2019")-COUNTIF($CLOTHING.G3:G502;">=4/2019")

这将正确产生5.冷却。但这仅仅是一个月,而且我们每年需要十二年,而且需要多年,所以我们有六个类别。因此,我们宁愿每次需要计数时都不要对每个公式进行硬编码。

当我们尝试将公式复制到下面的单元格(用于4月,5月等)中时,希望它可以调整日期,因此错误地将单元格范围调整为G4:G503。像元范围应保持不变;几个月应该会提前,但并没有改变。

我们一直在尝试在线上发现的其他建议,例如为范围G3:G502命名,但它不喜欢这样。我们遇到了错误

我们俩(显然)对Excel的了解有限。请让我知道我们在做错什么,或者是否有更好的方法解决此问题,以及如何逐步进行。如果我的解释不清楚,请问任何问题。

解决方法

使用您的公式,我将对其进行如下调整:

=COUNTIF($CLOTHING.G$3:G$502;">="&DATE(2019;row(1:1);1))-COUNTIF($CLOTHING.G$3:G$502;">"&EOMONTH(DATE(2019;row(1:1);1),0))

请注意在单元格引用中添加了$。复制单元格时,这可以使列或行保持不变。

Row(1:1)将在它进入的第一个单元格中返回1,并且向下复制时该单元格将增加1。因此,重要的是不要将其向下复制到其初始入口点多于12行。

请注意,日期中的年份是硬编码的。或者,可以将年份放置在一个单元格中,并且可以使用对该单元格的引用来代替硬编码年份。在随后的几年中,通过这种方式,您只需更改单元格中的值,而不用更改硬编码公式中的值即可。

请注意,此解决方案假设第一个单元格为一月,而第十二个单元格依次为十二月。

我的系统配置为使用,而不是;因此可能是我的编辑中的内容有误。

或者,您可以查看COUNTIFS。它类似于COUNTIF,但要求所有条目均为TRUE才能对条目进行计数。

=COUNTIFS($CLOTHING.G$3:G$502;">="&DATE(2019;row(1:1);1);$CLOTHING.G$3:G$502;">"&EOMONTH(DATE(2019;row(1:1);1),0))