ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 按数值从大到小返回前一二三名对应序号的自定义函数

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-24 18:07 | 显示全部楼层
请在50楼原代码中合适的地方,添加一句判断---当数据源I:R列的任意一行全部为空或全部为0时,结果输出列的对应行显示为空白!

TA的精华主题

TA的得分主题

发表于 2019-7-25 09:33 | 显示全部楼层
自己再核对一下代码是否正确,加载宏的代码与我给的代码是否一致

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-25 10:17 | 显示全部楼层
lsdongjh 发表于 2019-7-25 09:33
自己再核对一下代码是否正确,加载宏的代码与我给的代码是否一致

老师:我刚才又把代码复制过去,重新作了加载宏,仍然如此--我觉得问题与XHCOUNTIF公式计算结果的显示格式有关。分开来看,XHCOUNTIF的代码本身没有问题,Q3PM的代码应用在其它地方也都能显示正确结果;但是当用Q3PM对XHCOUNTIF输出的计算结果进行排名时,就会发生这种现象【如下面截图的S623:S936显示的错误结果】

所以,我想在Q3PM代码合适的地方增加一个返回空白的判断语句--当数据区域的任意一行和值为0时,强制使Q3PM对应行的计算结果为空白。
    由于Q3PM是按指定数据出现次数多少来排名的,当数据区域的任意一行和值为0时,代表各指定数据没有出现过一次,所以添加让其对应行的计算结果显示为空白的的运算规则,对任何情况下的排名统计都没有影响,还能彻底解决50楼附件里出现的问题。麻烦老师看看加在哪里最合适?
1.gif

TA的精华主题

TA的得分主题

发表于 2019-7-25 10:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2019-7-25 10:45 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
留下脚印,看高手过招

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-25 10:47 | 显示全部楼层
lsdongjh 发表于 2019-7-25 10:37
有没有看我在46楼修改的内容?

老师我当时就看过了,并且已在47楼的N列还反馈了您46楼代码出错的对比结果。

我现在的想法是就50楼里的原代码,不需要修改运算规则,只需在合适的地方增加一个返回空白的判断语句--当数据区域的任意一行和值为0时,强制使Q3PM对应行的计算结果为空白。

这样既简单,还能一劳永逸地解决问题。您看怎么样?

TA的精华主题

TA的得分主题

发表于 2019-7-25 10:54 | 显示全部楼层
46楼代码的核心是:
    '找到数据区域最后一行
    lngEndRow = rgData.Find("*", SearchOrder:=xlByRows, LookIn:=xlValues, SearchDirection:=xlPrevious).Row - rgData.Row + 1

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-7-25 11:12 | 显示全部楼层
本帖最后由 WYS67 于 2019-7-25 11:17 编辑
lsdongjh 发表于 2019-7-25 10:54
46楼代码的核心是:
    '找到数据区域最后一行
    lngEndRow = rgData.Find("*", SearchOrder:=xlByRow ...

1.gif
前三排名 (2).zip (693.58 KB, 下载次数: 0)

老师请看,用了46楼的代码M列显示的输出结果有许多错误,N列才是正确答案--仅仅M5:M49,就有错误十次多。


您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-20 17:33 , Processed in 0.043423 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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