ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
Python自动化办公应用大全 Excel 2021函数公式学习大典 Kutools for Office 套件发布 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 一块臭豆腐

[已解决] 怎样在数组中剔除连续上涨小于3笔的数,而对其他数进行标识? 

[复制链接]

TA的精华主题

TA的得分主题

发表于 2025-3-22 22:03 | 显示全部楼层
一块臭豆腐 发表于 2025-3-22 16:38
说来惭愧,我哪里会写公式,只不过在老师们的公式基础上一顿乱搞而已。另:1、因为不知道在老贴上面怎么 ...

改成<=就行了

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-23 08:40 | 显示全部楼层

我试了一下,如改成=SCAN(0,B6:B2787,LAMBDA(x,y,IF(AND(N(OFFSET(y,{0;1;2},))>=N(OFFSET(y,{-1;0;1},)))+(x=1)*(y<=OFFSET(y,-1,)),1,0))),则第13、14本应该为“1”的错误地标识为“0”。如改成=SCAN(0,B6:B2787,LAMBDA(x,y,IF(y<=OFFSET(y,-1,),0,AND(N(OR(y>(OFFSET(y,-1,)),x=1)),N(OFFSET(y,{0;1;2},))>=N(OFFSET(y,{-1;0;1},)))))),则8-10、12-14行本应该为“1”的错误地标识为“0”。麻烦您帮我修改一下,谢谢

TA的精华主题

TA的得分主题

发表于 2025-3-23 09:37 | 显示全部楼层
一块臭豆腐 发表于 2025-3-23 08:40
我试了一下,如改成=SCAN(0,B6:B2787,LAMBDA(x,y,IF(AND(N(OFFSET(y,{0;1;2},))>=N(OFFSET(y,{-1;0;1},)) ...

我说的是我写这个,可以这样改,还有只需要模拟几十行数据就行了,然后给出你认为的正确答案,便于别人调试
  1. =SIGN(MID(SUBSTITUTES(CONCAT(SCAN(,N(B5:B2787<=B6:B2788),LAMBDA(x,y,IF(y,x+1,0)))),{120,10},{"000","00"}),SEQUENCE(2782),1))
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-23 09:56 | 显示全部楼层
无关岁月 发表于 2025-3-23 09:37
我说的是我写这个,可以这样改,还有只需要模拟几十行数据就行了,然后给出你认为的正确答案,便于别人调 ...

我刚才出去了一下,办事。路上也回过神来了,您的意思是在您之前的公式上改。刚用=SIGN(MID(SUBSTITUTES(CONCAT(SCAN(,N(B5:B2787<=B6:B2788),LAMBDA(x,y,IF(y,x+1,0)))),{120,10},{"000","00"}),SEQUENCE(2782),1))试了一下,结果在G列,F列是原数据。 OVH~JKV1HWFEBYP([]%QO7A.png 现在有个问题,第84、85行应该标识“1”结果标识为“0”,第87行应该标识为“0”结果标识成了“1”,麻烦您再修改一下,谢谢

TA的精华主题

TA的得分主题

发表于 2025-3-23 10:10 | 显示全部楼层
一块臭豆腐 发表于 2025-3-23 09:56
我刚才出去了一下,办事。路上也回过神来了,您的意思是在您之前的公式上改。刚用=SIGN(MID(SUBSTI ...

=SIGN(TOCOL(REGEXP(SUBSTITUTES(CONCAT(SCAN(,N(B6:B2787>=B5:B2786),LAMBDA(x,y,IF(y,x+1,0)))&","),{"1,0","1,2,0"},{"0,0","0,0,0"}),"\d+")))

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-23 10:20 | 显示全部楼层
无关岁月 发表于 2025-3-23 10:10
=SIGN(TOCOL(REGEXP(SUBSTITUTES(CONCAT(SCAN(,N(B6:B2787>=B5:B2786),LAMBDA(x,y,IF(y,x+1,0)))&","),{" ...

我在H6输入=SIGN(TOCOL(REGEXP(SUBSTITUTES(CONCAT(SCAN(,N(B6:B2787>=B5:B2786),LAMBDA(x,y,IF(y,x+1,0)))&","),{"1,0","1,2,0"},{"0,0","0,0,0"}),"\d+"))),绝大部分是我预期的结果,但仍有一个小瑕疵,第107、108,182-185行应该标识为“0”的标识成了“1”,可否还改进一下,谢谢

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-23 10:28 | 显示全部楼层
无关岁月 发表于 2025-3-23 10:10
=SIGN(TOCOL(REGEXP(SUBSTITUTES(CONCAT(SCAN(,N(B6:B2787>=B5:B2786),LAMBDA(x,y,IF(y,x+1,0)))&","),{" ...

我修改成=SIGN(TOCOL(REGEXP(SUBSTITUTES(CONCAT(SCAN(,N(IF(B6:B2787<B5:B2786,0,IF(B6:B2787>B5:B2786,1,IF(B5:B2786>=B4:B2785,1,0))
)
),LAMBDA(x,y,IF(y,x+1,0)))&","),{"1,0","1,2,0"},{"0,0","0,0,0"}),"\d+"))),则第107、108、182行的问题解决了,但184-185问题仍存在

TA的精华主题

TA的得分主题

发表于 2025-3-23 10:45 来自手机 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 mengrs 于 2025-3-23 10:55 编辑

=MID(REGEXP(REGEXP("0"&CONCAT(--(B6:B2787>B5:B2786))&"0","(?<=0)1{1}(?=0)",2,"0"),"(?<=0)1{2}(?=0)",2,"00"),SEQUENCE(2782,,2),1)
Screenshot_2025-03-23-10-44-17-386_cn.wps.moffice_eng-edit.jpg

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2025-3-23 10:46 | 显示全部楼层
一块臭豆腐 发表于 2025-3-23 10:28
我修改成=SIGN(TOCOL(REGEXP(SUBSTITUTES(CONCAT(SCAN(,N(IF(B6:B2787B5:B2786,1,IF(B5:B2786>=B4:B2785, ...

朋友,我再说一次:
一、重新发帖
二、上传数据,不要太多,关键容易出错的数据上传上去,就是你上传的数据要有代表性,你说几行几行的问题仍然存在的数据,
三、模拟答案
能不能明白我说什么?

TA的精华主题

TA的得分主题

 楼主| 发表于 2025-3-23 10:55 | 显示全部楼层
本帖最后由 一块臭豆腐 于 2025-3-23 13:53 编辑
mengrs 发表于 2025-3-23 10:45
=MID(REGEXP(REGEXP("0"&CONCAT(--(B6:B2787>B5:B2786)),"(?

谢谢您的帮忙,但是,我在H6输入=DROP(MID(REGEXP(REGEXP("0"&CONCAT(--(B6:B2787>B5:B2786)),"(?<=0)1{1}(?=0)",2,"0")&"0","(?<=0)1{2}(?=0)",2,"00"),SEQUENCE(2783),1),1)后, D021NZM]J%$@1OJVYJ1ML}5.png 第6-14行,24-31行应该标识为“1”的全部标识成了“0”,麻烦您再修改一下
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-12-15 03:18 , Processed in 1.037049 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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