ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 有没有办法对数组的递增进行标识

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-5-28 10:41 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 一块臭豆腐 于 2024-5-28 13:26 编辑

如果数组内一个数据A比上一个数据B大于等于0.1,那么,A及其以后的数据,只要是大于或等于上一个数据,则都标识出来。如果存在一个数据比上一个数据小,那么中断,直到又出现下一数据比上一数据大于等于0.1为止,如附件所示,6-14行、77-86行标识为1,中间不符合条件的标识为0 ]R]9)2H]}DQXJPN1`EW9]5M.png 9{O[ZWHV]E_J9VKHY@C]6~5.png

20200828_300644.rar

11.77 KB, 下载次数: 8

TA的精华主题

TA的得分主题

发表于 2024-5-28 10:56 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
F6=     (B6>MAX(B$5:B6)*1

TA的精华主题

TA的得分主题

发表于 2024-5-28 10:57 | 显示全部楼层
本帖最后由 edwin11891 于 2024-5-28 11:07 编辑

F6:
低版本:
  1. =IF(B6>(B5+0.1),1,IF(AND(B6>=B5,F5=1),1,0))
复制代码
下拉。

高版本:
  1. =SCAN(0,B6:B2787,LAMBDA(y,x,IF(x>(OFFSET(x,-1,)+0.1),1,IF(AND(x>=OFFSET(x,-1,),y=1),1,0))))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2024-5-28 11:42 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
  1. =SCAN(0,B6:B2787,LAMBDA(x,y,IF(y<OFFSET(y,-1,),0,N(OR((y-OFFSET(y,-1,))>=0.1,x=1)))))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-28 12:43 | 显示全部楼层

谢谢您,真是太牛了----不过有一个问题想请教一下,将您所写的公式粘贴在H6上回车,结果在第76行显示为0,因为B76-B75>=0.1,所以要显示为1才好,第111行类似。其他的则都是正确的,麻烦您抽空修改完善一下,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-28 12:46 | 显示全部楼层
edwin11891 发表于 2024-5-28 10:57
F6:
低版本:
下拉。

谢谢您,真是太牛了----不过有一个问题想请教一下,将您所写的后一个公式粘贴在H6上回车,结果在第76行显示为0,因为B76-B75>=0.1,所以要显示为1才好,第111行、第200行类似。其他的则都是正确的,麻烦您抽空修改完善一下,谢谢

TA的精华主题

TA的得分主题

发表于 2024-5-28 12:59 | 显示全部楼层
一块臭豆腐 发表于 2024-5-28 12:43
谢谢您,真是太牛了----不过有一个问题想请教一下,将您所写的公式粘贴在H6上回车,结果在第76行显示 ...

说也奇怪(B76-B75)>=0.1竟然是False
PixPin_2024-05-28_12-53-31.png
减法不精确的, 还是用加法吧:
  1. =SCAN(0,B6:B2787,LAMBDA(x,y,IF(y<OFFSET(y,-1,),0,N(OR(y>=(OFFSET(y,-1,)+0.1),x=1)))))
复制代码




评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-28 13:20 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
boyuanoffice 发表于 2024-5-28 12:59
说也奇怪(B76-B75)>=0.1竟然是False

减法不精确的, 还是用加法吧:

高,实在是高,严重佩服中,谢谢您

TA的精华主题

TA的得分主题

发表于 2024-5-28 14:07 | 显示全部楼层
一块臭豆腐 发表于 2024-5-28 12:46
谢谢您,真是太牛了----不过有一个问题想请教一下,将您所写的后一个公式粘贴在H6上回车,结果在第76 ...

把 >()+0.1的地方改成 >=()+0.1即可,即原来是大于0.1,改成大于等于0.1.

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-5-28 14:28 | 显示全部楼层
edwin11891 发表于 2024-5-28 14:07
把 >()+0.1的地方改成 >=()+0.1即可,即原来是大于0.1,改成大于等于0.1.

谢谢您,十分感谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-16 18:07 , Processed in 0.044941 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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