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

Trying to correctly duplicate formulas keeping same cell range but adjusting date ranges

我正试图通过 Excel 销售数据电子表格帮助某人。我希望这个解释很清楚。对于她销售的每一类商品,例如服装、鞋子、家具等,她都有一个工作表。每个工作表都有一个 G 列,表示销售日期,数据采用日期格式。

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

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

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

这正确地产生了 5。酷。但这只是一个月,我们每年需要十二个,持续多年,我们有六个类别。因此,我们宁愿不在每次需要计数时都对每个公式进行硬编码。

当我们试图将公式复制到下面的单元格中(四月、五月等),希望它能调整日期时,它错误地将单元格范围调整为 G4:G503。单元格范围不应改变;月份应该提前,但他们没有改变。

我们一直在尝试在网上找到的不同建议,例如将范围命名为 G3:G502,但它不喜欢这样。我们收到一个错误。

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

使用你的公式我会调整如下:

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

请注意将 $ 添加到单元格引用中。这样可以防止在复制单元格时更改列或行。

Row(1:1) 将在它进入的第一个单元格中 return 1,并且在向下复制时将增加 1。因此,重要的是不要向下复制超过 12 行从它的初始入口点开始。

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

请注意,此解决方案假设第一个单元格为 1 月,第 12 个单元格为 12 月的后续月份。

我的系统配置为使用 , 作为分隔符而不是 ;所以我的编辑可能有误。

或者您可以查看 COUNTIFS。它类似于 COUNTIF,但要求所有条目都为 TRUE 才能计算条目。

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