ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助大神,超难公式,只有大神才能解决。附件为逻辑图,根据逻辑图得出金牌、银牌....

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-10-31 18:28 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
alchemist007 发表于 2017-10-31 16:09
大神,能解析一下这一寸的意思吗?IF(AND(INDIRECT("R[-11]C2:R"&MAX(ROW())&"C2",)=0)*AND(INDIRECT("R[ ...

你不是要求连续12天无出错、连续16天无投诉就可以的金牌吗?连续就要对本行以上的11行(15行)至本行的数据进行统计,表示这12(16)行有几种方法:a)单元格区域直接引用(如B1:B12);b)offset函数向上偏移引用;c)indirect函数向上引用。但是你的首行(第2行)上面并没有这么多的行,直接引用不行,offset引用也出错,indirect的A1引用样式也不行,但是indirect函数的R1C1引用却不会出错:——R1C1引用样式是用R代表行,其后数字是行号,C代表列标,其后数字是列标序号(如R2C3就是第2行第3列交叉的单元格),带方括弧表示相对位置,里边的数字是偏移的行(列)数,负数,行相上偏,列向左偏。这里INDIRECT("R[-11]C2:R"&MAX(ROW())&"C2",)的参数"R[-11]C2:R"&MAX(ROW())&"C2"形成的字符串(在第二行)是"R[-11]C2:R2C2",即第二列的向上11行的单元格到本行单元格构成的区域。随着下拉,上面的行数逐渐达到所需要统计的12行(16行)区域。
注意,indirect的R1C1引用样式,要有第二参数FALSE,可以省写,但必须保留一个逗号。

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-11-6 21:55 | 显示全部楼层
wangjguo44 发表于 2017-10-30 10:37
写了个IF+AND(OR )的公式,其中单元格引用用的是INDIRECT的RIC1引用样式。
从你的逻辑图中,金牌有一个 ...

大神,问题还是未能解决,你输多几个数就会发现出错了,如果错误全部为0就乱了,或者从金发生错误降为银后,后面虽然都为0又自动降为铜,才能升上去。所以解决不了问题

TA的精华主题

TA的得分主题

发表于 2017-11-7 09:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
alchemist007 发表于 2017-11-6 21:55
大神,问题还是未能解决,你输多几个数就会发现出错了,如果错误全部为0就乱了,或者从金发生错误降为银 ...

你没有出错的附件,对你说的不甚理解,你说“你输多几个数就会发现出错了,如果错误全部为0就乱了,或者从金发生错误降为银后,后面虽然都为0又自动降为铜,才能升上去”——
如果错误全部为0就乱了——我从38行以下全部输入0,并没有乱(见附图1):随着0错误和0投诉的增加,级别从普通—铜牌—银牌—金牌,逐级提升;
附图1.png

至于“或者从金发生错误降为银后,后面虽然都为0又自动降为铜,才能升上去”——公式中确有漏洞:改一下(添加红色部分)就行,并非严重到“解决不了问题”的地步:=IF(AND(INDIRECT("R[-11]C2:R"&MAX(ROW())&"C2",)=0)*AND(INDIRECT("R[-15]C3:R"&MAX(ROW())&"C3",)=0),"金牌",IF(AND(INDIRECT("R[-6]C2:R"&MAX(ROW())&"C2",)=0)*AND(INDIRECT("R[-9]C3:R"&MAX(ROW())&"C3",)=0),"银牌",IF(AND(INDIRECT("R[-2]C2:R"&MAX(ROW())&"C2",)=0)*AND(INDIRECT("R[-3]C3:R"&MAX(ROW())&"C3",)=0)*(F1<>"银牌"),"铜牌",IF(F1="金牌",IF(C2=0,IF(AND(B1:B2>=2),"铜牌",IF(B2>=1,"银牌",F1)),"普通"),IF(F1="银牌",IF(C2=0,IF(AND(B1:B2>=2),"普通",IF(B2>=1,"铜牌",F1)),"普通"),IF(F1="铜牌",IF(C2=0,IF(AND(B1:B2>=2),"普通",F1),"普通"),"普通"))))))

EH(Wjg)b.zip (14.17 KB, 下载次数: 1)

如还有什么问题,请直接上传出错的压缩附件,由数据说话,我可以对错误进行分析完善公式(而不至于瞎猜)
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-13 18:30 , Processed in 0.033901 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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