ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: shaowu459

[讨论] 求抽取k个数字能组成的最大数字(已结贴)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2023-11-23 18:59 | 显示全部楼层
shaowu459 发表于 2023-11-23 16:00
不只是卡的问题,数字可能会超过15位的,题目上限设定是20位,现在你的公式对长数字来说最后几位会变成0

这个问题我考虑到了,后来忙没顾上,回头我再改进下吧

TA的精华主题

TA的得分主题

发表于 2023-11-23 19:35 | 显示全部楼层
  1. =@REDUCE(0,SEQUENCE(B2)-B2,LAMBDA(X,Y,LET(n,MIN(X),q,REPLACE(A2,1,n,""),m,DROP(--TEXTSPLIT(q,,",",1),Y),s,MAX(m),HSTACK(IF(-@X,@X,)&s,FIND(s,q)+n))))
复制代码
参考大佬们的方法,把原来的公式改了一下,减了不少字符。

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-11-24 09:02 | 显示全部楼层
练习一下递归:=fx(11&A2,,B2)
  1. =LAMBDA(x,y,z,LET(s,@SORT(MID(x,SEQUENCE(LEN(x)/2-z+1)*2+1,{99,1}),2,-1),t,IF(-y,y,)&LEFT(s),IF(z=1,t,fx(s,t,z-1))))
复制代码

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-11-24 09:43 | 显示全部楼层
橒♂蝣 发表于 2023-11-23 11:13
自定义名称:aaa(A2,B2),下拉

=LAMBDA(x,y,

不管公式是否正确,我比较喜欢你这种自定义公式的写法。最好是写在excel labs的modules里面,每步都可以写备注,函数可以写说明,可以写思路。

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-11-24 09:43 | 显示全部楼层
递归公式,定义fx:
  1. =LAMBDA(x,y,z,IF(z,LET(s,MAX(DROP(y,1-z)),fx(IF(-x,x,)&s,DROP(y,MATCH(s,y,)),z-1)),x))
复制代码
单元格中输入公式:
  1. =fx(0,--TEXTSPLIT(A2,,","),B2)
复制代码




评分

4

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-11-24 14:57 | 显示全部楼层
本帖最后由 cinlo 于 2023-11-24 15:05 编辑
shaowu459 发表于 2023-11-24 09:43
递归公式,定义fx:
单元格中输入公式:
老大这个递归最好理解!
=fx(0,--TEXTSPLIT(A2,,","),B2)

1参的0应该可以省略

TA的精华主题

TA的得分主题

发表于 2023-11-26 18:43 | 显示全部楼层
jivy1212 发表于 2023-11-21 08:37
想了会,感觉上老版应该走不通的,都18位了。老思路参与一下了没法适应后面二条那么长位数的。

不怕卡硬 ...

这个硬算公式同时解决了好多网友提问的m选n组合的问题,牛!

TA的精华主题

TA的得分主题

发表于 2023-11-27 15:08 | 显示全部楼层
本帖最后由 sucx007 于 2023-11-27 15:24 编辑
  1. =@REDUCE(--TEXTSPLIT("0,"&A2,,","),SEQUENCE(B2)-B2,LAMBDA(x,y,LET(m,MAX(DROP(x,y)),VSTACK(IF(-@x,@x,)&m,IF(y,DROP(x,MATCH(m,x,)),0)))))
复制代码
参考大佬们公式,用数组处理数据

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2023-11-28 19:15 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 吃串串 于 2023-11-28 19:24 编辑

学到了 还有LAMBDA这个东西,第一次知道
静静看大佬如何实现

TA的精华主题

TA的得分主题

 楼主| 发表于 2023-11-30 22:12 | 显示全部楼层
回帖截止。正确公式已汇总,递归公式未收集。

经统计,18楼的cinlo公式正确,公式长度为130字符,为正确答案中最短答案。

请cinlo对公式做简单总结,跟帖后予以1技术分奖励。其余所有参与者,均有50财富奖励,今天明天发放。


求抽取k个数字能组成的最大数字-公式汇总.rar

28.89 KB, 下载次数: 9

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

本版积分规则

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

GMT+8, 2024-4-28 21:00 , Processed in 0.046596 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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