ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 求助PQ数据区间匹配并计算

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-11-30 14:53 | 显示全部楼层 |阅读模式
本帖最后由 yea1943 于 2023-11-30 16:59 编辑

首先判断数据A在表1的哪个区间范围内,取对应的3个常数项,再经过计算获得转化的值,求助大神帮忙

TA的精华主题

TA的得分主题

发表于 2023-11-30 15:53 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-11-30 16:59 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2023-11-30 17:21 | 显示全部楼层
Excel-SQL弄了下, 看看语句量, 感觉上也挺长的

逻辑不难, 就是有些繁琐, 感觉在速度上, 比PQ快一点,特别是在配置较低的旧电脑上
  1. select m.日期,m.转换数据A,n.转换数据B
  2. from
  3. (
  4. select x.日期,x.数据A*(y.常数1+y.常数2)+y.常数3 as 转换数据A
  5. from
  6. (
  7. select
  8. 日期,
  9. 数据A,
  10. max(区间) as imax  
  11. from
  12. (
  13. select a.日期,
  14. a.数据A,
  15. b.区间
  16. from [Sheet1$F:H] a  
  17. left join [Sheet1$A:D] b  
  18. on a.数据A>=b.区间
  19. )
  20. group by 日期,数据A
  21. having 日期>0
  22. ) x
  23. left join [Sheet1$A:D] y
  24. on x.imax=y.区间
  25. ) m
  26. left join
  27. (
  28. select x.日期,x.数据B*(y.常数1+y.常数2)+y.常数3 as 转换数据B
  29. from
  30. (
  31. select
  32. 日期,
  33. 数据B,
  34. max(区间) as imax  
  35. from
  36. (
  37. select a.日期,
  38. a.数据B,
  39. b.区间
  40. from [Sheet1$F:H] a  
  41. left join [Sheet1$A:D] b  
  42. on a.数据B>=b.区间
  43. )
  44. group by 日期,数据B
  45. having 日期>0
  46. ) x
  47. left join [Sheet1$A:D] y
  48. on x.imax=y.区间
  49. ) n
  50. on m.日期=n.日期
复制代码


微信截图_20231130172004.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 23:47 , Processed in 0.031851 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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