ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 2075|回复: 13

[求助] 与日期有关的统计,不能用数据透视表,VB,只用函数公式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-12-24 10:03 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助



求助各位大神,如图,特点:
  • 每行的日期并不连续,从远到近做红绿字记录,会跨年一直记录下去;
  • 每个日期只会对应一个红字或绿字

求解:
  • 某年某月绿字出现次数;
  • 绿字最多月出现次数(找到并算出单月最多次数)。



要求:不能用数据透视表,VB;只用函数公式
附件
QQ截图20201224091730.png

工作簿2.rar

9.88 KB, 下载次数: 16

TA的精华主题

TA的得分主题

发表于 2020-12-24 12:53 | 显示全部楼层
=SUMPRODUCT((YEAR(A3:A101)=YEAR(F5))*(MONTH(A3:A101)=MONTH(F5))*(C3:C101<>""))

TA的精华主题

TA的得分主题

发表于 2020-12-24 13:53 | 显示全部楼层
=SUMPRODUCT((MONTH(A3:A101)=11)*(C3:C101<>""))

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-12-24 14:09 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
fsw0812 发表于 2020-12-24 12:53
=SUMPRODUCT((YEAR(A3:A101)=YEAR(F5))*(MONTH(A3:A101)=MONTH(F5))*(C3:C101""))

谢谢,第1问解决了。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-12-24 14:11 | 显示全部楼层
limonet 发表于 2020-12-24 13:53
=SUMPRODUCT((MONTH(A3:A101)=11)*(C3:C101""))

谢谢你的思路。
需要调整一下,不然跨年后有相同的月份数,就乱了。

TA的精华主题

TA的得分主题

发表于 2020-12-24 14:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 hcm19522 于 2020-12-24 14:24 编辑

2020年11月绿字出现次数:=SUMPRODUCT((TEXT(A3:A101,"EM")=TEXT(F5,"EM"))*(C3:C101>0))

绿字单月最多现次数:{=MAX(MMULT(N(TEXT(A3:A101,"EM")-TRANSPOSE(TEXT(A3:A101,"EM")*(C3:C101>0))=0),Z3:Z101+1))

绿字单月最多现次数 年月:{=TEXT(RIGHT(MAX(MMULT(N(TEXT(A3:A101,"EM")-TRANSPOSE(TEXT(A3:A101,"EM")*(C3:C101>0))=0),Z3:Z101+1)*10^8+TEXT(A3:A101,"EMM")),8)*1+191100,"0年00月")

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-12-24 14:32 | 显示全部楼层
hcm19522 发表于 2020-12-24 14:17
2020年11月绿字出现次数:=SUMPRODUCT((TEXT(A3:A101,"EM")=TEXT(F5,"EM"))*(C3:C101>0))

绿字单月最多 ...

老大,我把你的公式代进表格,没有出正确结果,你再帮看一下呢。

另外,"EM"和第二个公式里出现的Z3:Z101能解释一下吗?
偶是新人,请多指教~~~

QQ截图20201224142758.png


QQ截图20201224142837.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-12-24 15:03 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 yes_cn 于 2020-12-24 15:05 编辑
hcm19522 发表于 2020-12-24 14:17
2020年11月绿字出现次数:=SUMPRODUCT((TEXT(A3:A101,"EM")=TEXT(F5,"EM"))*(C3:C101>0))

绿字单月最多 ...

估计你"EM"是“年月”的意思,我把它改成"YM",
第一个公式出正确结果了。
=SUMPRODUCT((TEXT(A3:A101,"YM")=TEXT(F5,"YM"))*(C3:C101>0))

第二个公式有引用Z列,我这是空白,还是错误。
=MAX(MMULT(N(TEXT(A3:A101,"YM")-TRANSPOSE(TEXT(A3:A101,"YM")*(C3:C101>0))=0),Z3:Z101+1))

第三个公式,出现结果是:1931年11月
{=TEXT(RIGHT(MAX(MMULT(N(TEXT(A3:A101,"YM")-TRANSPOSE(TEXT(A3:A101,"YM")*(C3:C101>0))=0),Z3:Z101+1)*10^8+TEXT(A3:A101,"YMM")),8)*1+191100,"0年00月")}






TA的精华主题

TA的得分主题

发表于 2020-12-24 15:05 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 hcm19522 于 2020-12-24 15:11 编辑
yes_cn 发表于 2020-12-24 14:32
老大,我把你的公式代进表格,没有出正确结果,你再帮看一下呢。

另外,"EM"和第二个公式里出现的Z3:Z ...

C3:C101>0 改 C3:C101<>"" 試試   測試是 OK
數組公式 :複製公式 不含 "=" ,貼上後加 "="   ;最前 "{" 代表 shift+ctrl+enter 三鍵一起按所產生 ,非程式裡面

54.rar

10.25 KB, 下载次数: 3

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-12-24 15:13 | 显示全部楼层
hcm19522 发表于 2020-12-24 15:05
C3:C101>0 改 C3:C101"" 試試   測試是 OK
數組公式 :複製公式 不含 "=" ,貼上後加 "="   ;最前 "{" 代 ...

你的Z3:Z101,Z列是什么?
第三个公式我确用了数组 shift+ctrl+enter生成,月份对了,年份不对呢。
QQ截图20201224150945.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-27 02:01 , Processed in 0.035911 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表