ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 一个非常奇怪的问题!

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-27 12:33 来自手机 | 显示全部楼层
shaowu459 发表于 2024-7-27 09:48
@take试试吧,加个@返回单值。常见问题

谢谢老师,我在外面。回去试试

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-27 17:43 | 显示全部楼层
shaowu459 发表于 2024-7-27 09:48
@take试试吧,加个@返回单值。常见问题

非常感谢 超人大神的 及时帮助! 成功了。



就加一个 @,成功了。
  1. =DROP(
  2.     REDUCE(
  3.         0,
  4.         E2:E6,
  5.         LAMBDA(x, y,
  6.             VSTACK(
  7.                 x,
  8.                 LET(
  9.                     _a, SUBSTITUTE(y, CHAR(10), ""),
  10.                     _b, TEXTSPLIT(_a, , ",", TRUE),
  11.                     _c, DROP(
  12.                         REDUCE(
  13.                             0,
  14.                             _b,
  15.                             LAMBDA(m, n,
  16.                                 IF(
  17.                                     ISNUMBER(FIND("-", n)),
  18.                                     LET(
  19.                                         _d, TEXTSPLIT(n, , "-", TRUE),
  20.                                         _e, TOCOL(REGEXEXTRACT(_d, "\d+"), 3),
  21.                                         _f, SEQUENCE(@TAKE(_e, -1) - @TAKE(_e, 1) + 1, , @TAKE(_e, 1), 1),
  22.                                         VSTACK(m, REGEXEXTRACT(TAKE(_d, 1), "[^0-9]+") & _f)
  23.                                     ),
  24.                                     VSTACK(m, n)
  25.                                 )
  26.                             )
  27.                         ),
  28.                         1
  29.                     ),
  30.                     IFNA(HSTACK(OFFSET(y, , -3, , 2), _c), OFFSET(y, , -3, , 2))
  31.                 )
  32.             )
  33.         )
  34.     ),
  35.     1
  36. )
复制代码

TA的精华主题

TA的得分主题

发表于 2024-7-27 17:55 | 显示全部楼层
cnmlgb9998 发表于 2024-7-27 17:43
非常感谢 超人大神的 及时帮助! 成功了。

take(x,-1)这种,取出来的是数组,单值也是单值数组。放入不支持数组的函数中,返回值会不符合预期。使用@提取第一个值即可。或者sum,concat之类的聚合一下也行。

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-27 21:11 | 显示全部楼层
shaowu459 发表于 2024-7-27 17:55
take(x,-1)这种,取出来的是数组,单值也是单值数组。放入不支持数组的函数中,返回值会不符合预期。使用 ...

学习了。谢谢大神!!!!!!!!

TA的精华主题

TA的得分主题

发表于 2024-7-29 20:37 | 显示全部楼层
虽然这里take(array,-1)的结果只有一个数字,但这是一个1行1列的数组,除了加@外,可以套用MAX确定结果中的最大值作为行数,只要使用具有确定的唯一性的函数都可以返回正确结果

TA的精华主题

TA的得分主题

 楼主| 发表于 2024-7-29 21:12 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
胡汉三回来了 发表于 2024-7-29 20:37
虽然这里take(array,-1)的结果只有一个数字,但这是一个1行1列的数组,除了加@外,可以套用MAX确定结果中的 ...

学习了,谢谢!
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-9-8 10:17 , Processed in 0.031437 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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