ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 请问下分段求值是要用什么公式(表述不清详见图表)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-5-14 15:15 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 3.141592683589 于 2023-5-14 16:40 编辑

问题是这样,现在是有隧道要开挖,但是不同围岩所对应的开挖指标不同,从当前里程向目标的里程掘进,计算中间所需要的时间
由于当前和目标的值是变化的,请问下这个时间是要怎么计算(假如是从上往下的顺序)
image.png
之前尝试过用lookup,但是得出首尾对应里程之后,中间包含的不知道该怎么计算
希望各位大佬能够解决下,万分感谢

编辑1:
比如当前是68520,目标是67758
能够计算出68520-68500、68500-68200、68200-68160、68160-67915、67915-67810、67810-67790、67790-67752这几段的长度,再分别除以围岩对应的指标,最后求和

隧道开挖所需天数.zip

8.36 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2023-5-14 20:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 edwin11891 于 2023-5-14 22:34 编辑
Excel表哥在此 发表于 2023-5-14 19:04
那个0.25是不是该减去?起点位到下一长度单位才算1个长度单位哒,起点位不算耗时的,不知理解对没有?

理解完全对!应该是我的算法上的小瑕疵。利用 Frquency 函数,出发点是将起点里程和目标里程离散成间隔一米的数据(类似楼下自谓的“笨方法”),然后统计各个区段内的数据个数,这样,由于起点也算作一个,所以第一段就多了一个,这样,在D1格可以将起点+1,即D1公式修改为:


  1. ="$"&(G2+1)&":$"&F2
复制代码


这样D2的数值就是正确的32(之前为33,错误)。
这样最终结果为 180 ,如图。

========================================================
如果不想要辅助列,一条公式计算如下(注意 Vlookup函数的用法是关键,构建查找数组):
H2=
  1. =SUMPRODUCT(IFERROR(FREQUENCY(ROW(INDIRECT("$"&(G2+1)&":$"&F2)),B$2:B$11)/VLOOKUP(T(IF({1},C2:C12)),K$2:L$5,2,FALSE),0))
复制代码






微信图片_20230514202756.png

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-5-14 15:48 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-14 15:56 | 显示全部楼层

大等于a列,小于b列
范围不包含b列的值

TA的精华主题

TA的得分主题

发表于 2023-5-14 16:06 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 高个子 于 2023-5-14 16:13 编辑
3.141592683589 发表于 2023-5-14 15:56
大等于a列,小于b列
范围不包含b列的值
记得三键
  1. =SUM(DDB(F2:G2,A$2:A$11,1,1)*(VLOOKUP(T(IF({1},C$2:C$11)),K:L,2,)-IFNA(VLOOKUP(T(IF({1},C$1:C$10)),K:L,2,),))*{1,-1})
复制代码

TA的精华主题

TA的得分主题

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

老师,请问下公式是有错位吗,原公式输入是#N/a,我调整了下位置结果变成0了
看了下计算步骤,发现是
(VLOOKUP(T(IF({1},C$2:C$11)),I:J,2,)-IFNA(VLOOKUP(T(IF({1},C$2:C$11)),I:J,2,),))*{1,-1})
这句的计算结果是0,导致整个结果变成0了

TA的精华主题

TA的得分主题

发表于 2023-5-14 16:59 | 显示全部楼层
3.141592683589 发表于 2023-5-14 16:30
老师,请问下公式是有错位吗,原公式输入是#N/a,我调整了下位置结果变成0了
看了下计算步骤,发现是
( ...

是有错位,如果你的C列固定不动,那可以用常量。
  1. =SUM(DDB(F2:G2,A$2:A$11,1,1)*({1.5;1;1.5;1;-1;1;-1;-1.5;-1;0})*{1,-1})
复制代码


TA的精华主题

TA的得分主题

 楼主| 发表于 2023-5-14 17:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
高个子 发表于 2023-5-14 16:59
是有错位,如果你的C列固定不动,那可以用常量。

老师,请问下后面{1.5;1;1.5;1;-1;1;-1;-1.5;-1;0}这些是指标的数值有关系吗,有点看不懂
如果我想让指标变成被除数,为什么得出的结果是0呢

TA的精华主题

TA的得分主题

发表于 2023-5-14 18:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 edwin11891 于 2023-5-14 18:14 编辑

如果把D、E两列作为辅助列的话,就比较好理解计算过程。

1. D1:
  1. ="$"&G2&":$"&F2
复制代码
2. 选中D2:D12(注意不是D11,因为频率区间会多一行),输入下面公式后三键:
  1. =FREQUENCY(ROW(INDIRECT(D1)),B$2:B$11)
复制代码
3. E2中输入下面公式,下拉至C11.
  1. =VLOOKUP(C2,K$2:L$5,2,FALSE)
复制代码
4. H2,输入下面公式:
  1. =SUMPRODUCT(D2:D11/E2:E11)
复制代码
最终,180.25即为所求结果。

以上步骤,可以通过合并成一个公式,上述步骤是便于理解计算过程。







TA的精华主题

TA的得分主题

发表于 2023-5-14 18:14 | 显示全部楼层
3.141592683589 发表于 2023-5-14 17:12
老师,请问下后面{1.5;1;1.5;1;-1;1;-1;-1.5;-1;0}这些是指标的数值有关系吗,有点看不懂
如果我想让指 ...

当然有关系了,这是查好以后后面减前面。。
指标变成被除数没理解。。
VLOOKUP(T(IF({1},C$2:C$11)),K:L,2,)-IFNA(VLOOKUP(T(IF({1},C$1:C$10)),K:L,2,),)

TA的精华主题

TA的得分主题

发表于 2023-5-14 18:40 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
笨办法,简单易懂准确......仅供参考:
J2=SUMIFS($G$2:$G$920,$D$2:$D$920,">="&MIN($H$2:$I$2),$D$2:$D$920,"<="&MAX($H$2:$I$2))-VLOOKUP($H$2,$D$2:$G$920,4,)

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

本版积分规则

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

GMT+8, 2024-11-16 11:33 , Processed in 0.043005 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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