excel - 从日期匹配年份和季度并粘贴值
问题描述
我一直在努力寻找一种方法来执行以下匹配和计算,但找不到类似的东西。
我是 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")
对你的帮助表示感谢。
解决方案
创建一个辅助列,例如使用公式组合Year
和Quarter
喜欢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
支持多个条件。
推荐阅读
- python - 循环列以创建新列
- c# - 启用 TypeNameHandling 的 JsonConvert 序列化/反序列化锯齿状数组
- java - kitkat上的android studio webview相机权限
- git - Git:重置合并提交
- python - 为什么xgboost不能处理这个简单的中文句子案例?
- flask-sqlalchemy - Flask-SQLAlchemy 通过亚马逊 RDS
- css - 怎么做
标记为另一个的父级
jsx中的标签?
- ruby - 如何从 ducusign_rest gem 自动填充 txt
- python - 将 for 循环更改为 while 循环以进行非范围 for 循环
- kubernetes - 如何让calico使用K8s etcd?