首页 > 解决方案 > 从日期匹配年份和季度并粘贴值

问题描述

我一直在努力寻找一种方法来执行以下匹配和计算,但找不到类似的东西。

我是 VBA 的初学者,我想要的就是这个。

Worksheet("Sheet1").Range("B4")是日期,即(02-31-2020),并且Sheet2有一些数据,如下图所示。

现在我希望该代码将通过匹配日期来匹配Col"Year"Col"Quarter",因此该年Sheet1 date表示2020 年Quarter 为 1,因此代码将从中复制值,Col"E"并且Col"G"根据相同的年份和季度提前日期。

并将该值粘贴到Worksheet("Sheet3").Range("G10:H10")

对你的帮助表示感谢。

标签: excelvbacopymatch

解决方案


创建一个辅助列,例如使用公式组合YearQuarter喜欢2020Q1(因为 match 只能匹配单个值,但不能匹配 2)。然后使用WorksheetFunction.Match 方法将该帮助列与您从 date 获得的内容相匹配,=YEAR(A1) & "Q" & ROUNDUP(MONTH(A1)/3,0)其中 A1 是您的 date 31-2-2020

另一种解决方案是,如果返回值只有数字而没有文本,您可以使用该SUMIFS函数:

=SUMIFS(E:E,B:B,YEAR(A1),C:C,ROUNDUP(MONTH(A1)/3,0))

从列 E 中返回值。这里不需要辅助列,因为SUMIFS支持多个条件。


推荐阅读