ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

EH搜索     
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
Excel不给力? 何不试试FoxTable! Excel 2016函数公式学习大典 Office知识技巧免费学 打造核心竞争力的职场宝典
300集Office 2010微视频教程 Tableau-数据可视化工具 精品推荐-800套精选PPT模板,点击获取 ExcelHome出品 - VBA代码宝免费下载
你的Excel 2010实战技巧学习锦囊 欲罢不能, 过目难忘的 Office 新界面 Excel VBA经典代码实践指南
查看: 385|回复: 10

[求助] [求助]通过数组公式计算最大发货量所在月份

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-2-13 02:44 | 显示全部楼层 |阅读模式
求指导:
某一单一单元格数据为“25@2019/04/10;16@2019/04/16;37@No Date”,此数据所代表的含义为“发货数量@日期;发货数量@日期…“
现在想通过数组公式求出最大发货数量所在月份,要求所在月份要晚于当前月份,如果是No Date则显示No Date。
想了半天实在搞不定,求各位大神帮忙啊,谢谢~

求助.zip

6.42 KB, 下载次数: 18

TA的精华主题

TA的得分主题

发表于 2020-2-13 09:20 | 显示全部楼层
数据太少。“要求所在月份要晚于当前月份”是啥意思?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-13 09:49 | 显示全部楼层
飘香的冰 发表于 2020-2-13 09:20
数据太少。“要求所在月份要晚于当前月份”是啥意思?

比如说 假设A1单元格的数据是“100@2019/12/01;10@2020/03/01”,而当前的系统时间是2020-02-13则需要返回三月而不是十二月。

TA的精华主题

TA的得分主题

发表于 2020-2-13 15:10 | 显示全部楼层
B1:B5=IFERROR(MONTH(TEXT(RIGHT(MAX(IF(TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,";",REPT(" ",99)),"@",REPT(" ",99)),{1;3}*99,99))-D$2>0,MMULT(TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,";",REPT(" ",99)),"@",REPT(" ",99)),{1,2;3,4}*99-98,99))*1,{100000;1}))),5)*1,"[=]!N;0")),"No Date")
6584.png

评分

参与人数 1鲜花 +2 收起 理由
theking_wsz + 2 太强大了

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-2-13 15:52 | 显示全部楼层
=TEXT(MAX(--TEXT(MID(A1,ROW($1:$99),10),"0;;;!0")),"[>"&TODAY()&"]m;!NO !Dat!e")

评分

参与人数 2鲜花 +4 收起 理由
hcm19522 + 2 值得肯定
micch + 2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-2-14 11:38 | 显示全部楼层
hcm19522 发表于 2020-2-13 15:10
B1:B5=IFERROR(MONTH(TEXT(RIGHT(MAX(IF(TRIM(MID(SUBSTITUTE(SUBSTITUTE(A1,";",REPT(" ",99)),"@",REPT(" ...

实验您这个是没问题的,但是现在我有两个问题想请教您一下:
1.如果我想把“D$2”变成“today()”这个可以么,我实验了一下如果变了数据就不对了,是不是需要进行什么变换呀?
2.如果我的发货量与日期有多有少的情况是否还可以使用您这个公式,比如:A1单元格=“100@2020/01/01;10@2020/02/01;30@2020/04/23”而A2单元格=“10@2020/03/10;1@2020/01/01”这样的 您这个公式对于A1单元格和A2单元格是否都有效?
谢谢~~

TA的精华主题

TA的得分主题

发表于 2020-2-14 13:07 | 显示全部楼层
=IFERROR(MONTH(TEXT(--MID(A1,FIND("@",A1,FIND(-MIN(IFERROR(-RIGHT(REPLACE(A1,FIND("吖",SUBSTITUTE(A1,"@","吖",ROW(INDIRECT("1:"&LEN(A1)-LEN(SUBSTITUTE(A1,"@","")))))),999,""),COLUMN(A:CZ)),0)),A1))+1,10),"[>="&TODAY()&"]#;"&TODAY())),"No Date")

TA的精华主题

TA的得分主题

发表于 2020-2-14 13:09 | 显示全部楼层
江苏永能朱兴华 发表于 2020-2-13 15:52
=TEXT(MAX(--TEXT(MID(A1,ROW($1:$99),10),"0;;;!0")),"[>"&TODAY()&"]m;!NO !Dat!e")

貌似如果文本里No Date前的发货量最大的时候,老师这个公式带出来还是当天的月份

TA的精华主题

TA的得分主题

发表于 2020-2-14 13:14 | 显示全部楼层
本帖最后由 江苏永能朱兴华 于 2020-2-14 13:25 编辑
毛利的乖乖熊 发表于 2020-2-14 13:09
貌似如果文本里No Date前的发货量最大的时候,老师这个公式带出来还是当天的月份

这题我也没怎么看懂,可能理解错了。

TA的精华主题

TA的得分主题

发表于 2020-2-14 15:07 | 显示全部楼层
江苏永能朱兴华 发表于 2020-2-13 15:52
=TEXT(MAX(--TEXT(MID(A1,ROW($1:$99),10),"0;;;!0")),"[>"&TODAY()&"]m;!NO !Dat!e")

老師  優先考慮 @前面數字 再考慮 >TODAY  是?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关注官方微信,高效办公专列,每天发车

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

GMT+8, 2020-8-12 03:04 , Processed in 0.093614 second(s), 16 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2020 Wooffice Inc.

   

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

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

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