ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[分享] 数据区间匹配的三种方法。

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-5 13:13 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wdx223 发表于 2019-11-5 12:11
貌似DAX不用关联也可以实现排序

QQ群里的问题是我提的,一直想着找到个最优的解决办法。

TA的精华主题

TA的得分主题

发表于 2019-11-5 13:15 | 显示全部楼层
PQ,把区间标准表加Buffer,可以提高效率

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-5 13:17 | 显示全部楼层
wdx223 发表于 2019-11-5 12:11
貌似DAX不用关联也可以实现排序

您提供的方法连个度量值也不需要用了,直接添加列就可以,真棒

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-5 13:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
数据的区间匹配,这种设计更合理(基础表修改的规范了,完美)

PQ也更加规范地解决了这一问题,使用Table.Max,Table.MinN,Table.Last等方法。


DAX也是更完美地解决了,RANK的罕见用法,第三个参数被利用了起来,巧妙地解决了排序的问题。

一个问题有这么多种解决方法,感谢高手们的帮助。

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-5 13:37 | 显示全部楼层
wdx223 发表于 2019-11-5 13:15
PQ,把区间标准表加Buffer,可以提高效率

啥是Buffer?

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-11-17 10:53 | 显示全部楼层
数据的区间匹配,这种设计更合理(基础表修改的规范了,完美)DAX也是更完美地解决了,RANK的罕见用法

TA的精华主题

TA的得分主题

发表于 2019-11-17 21:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
pq试试这样:
  1. = Table.AddColumn(充值金额,"区间匹配",(x)=>Table.Max(区间标准,{each [充值]<=x[充值金额],each [充值]})[备注])
复制代码
或者
  1. = Table.AddColumn(充值金额,"区间匹配",(x)=>Table.Min(区间标准,{each [充值]>=x[充值金额],each -[充值]})[备注])
复制代码


TA的精华主题

TA的得分主题

发表于 2019-12-24 12:14 | 显示全部楼层
wdx223 发表于 2019-11-5 12:11
貌似DAX不用关联也可以实现排序

向大佬请教,还是这题,我先将区间标椎这个表翻转,用filter 筛这个表 再用topn 取第一行 SELECTCOLUMNS取 备注这列 就可以得到结果,    同理 不翻转区间标准这个表的话,用lastnonbiank 应该可以取最后一行,再取备注这列,结果应该也可以出来,但lastnonblank 总是取不出来,(lastnonblank公式我知道顺序反了,不管他,我就想知道如何取最后一行 某列的值回来)
1.png
2.png

数据的区间匹配,这种设计更合理(基础表修改的规范了,完美).rar

65.02 KB, 下载次数: 6

TA的精华主题

TA的得分主题

发表于 2019-12-25 11:02 | 显示全部楼层
个人感觉LASTNOBLANK不适用,这个函数会自动排序,按'区间标准'[备注]排序所得到最后一行,并不是所要的结果。比如147190,所有区间都满足,那么最后一行是9万-10万,而不是10万以上,因为按文本排序,9万大于10万

TA的精华主题

TA的得分主题

发表于 2019-12-25 12:00 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
wdx223 发表于 2019-12-25 11:02
个人感觉LASTNOBLANK不适用,这个函数会自动排序,按'区间标准'[备注]排序所得到最后一行,并不是所要的结 ...

谢大神,看来数字型数据 筛选用 max min之类好判断,文本型的就得再琢磨下 用别的方法来处理
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-15 06:42 , Processed in 0.039614 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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