You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Office 365 Excel:使用REDUCE函数实现数组扩展是否有更优方案?

Excel中用REDUCE实现数组元素翻倍的优化方案

不用非得用占位符加DROP的繁琐方法,有更简洁的实现方式,核心依然遵循必须使用REDUCE的要求,只需调整初始值的写法:

  • 横向数组输出:用TOROW({})生成空横向数组作为REDUCE的初始值,直接拼接重复元素:

    =REDUCE(TOROW({}), {1,2,5,4}, LAMBDA(a,b, HSTACK(a, b, b)))
    

    TOROW({})会生成明确的空横向数组,能和后续的HSTACK(a, b, b)正常拼接,不需要额外删除占位符。

  • 纵向数组输出:如果需要纵向的重复结果,用TOCOL({})作为初始值配合VSTACK:

    =REDUCE(TOCOL({}), {1,2,5,4}, LAMBDA(a,b, VSTACK(a, b, b)))
    
  • 更简洁的重复元素写法:可以用CHOOSE({1,2},b,b)替代HSTACK(b,b),效果完全一致:

    =REDUCE(TOROW({}), {1,2,5,4}, LAMBDA(a,b, HSTACK(a, CHOOSE({1,2},b,b))))
    

之所以直接用{}作为初始值不行,是因为Excel对纯空数组的处理逻辑问题,TOROW({})和TOCOL({})会生成符合HSTACK/VSTACK要求的空数组类型,彻底避免了占位符的繁琐操作。

内容的提问来源于stack exchange,提问作者im_chc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 17:22:16