【问题标题】:Map-like array function in Excel?Excel 中类似地图的数组函数?
【发布时间】:2023-01-08 10:12:33
【问题描述】:

Excel 中是否有类似 map 的函数?

例如,假设我想将公式 ABS 应用于项目列表。就像是:

=ABS,{-1,2,3,4,5}

作为类 python 符号的示例:

# list comprehension
>>> [abs(i) for i in [-1,2,3,4,5]]
[1, 2, 3, 4, 5]

# map
>>> map(abs,[-1,2,3,4,5])
[1, 2, 3, 4, 5]

# passing arbitrary function
>>> map(lambda x:abs(x)+1, [-1,2,4,5,6])
[2, 3, 5, 6, 7]

Excel中有类似的东西吗?


请注意,我得到的最接近的是对列表使用本机运算符,例如 =2*{1,2,3,4,5},但这仅提供基本算术运算之类的东西。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您可以在 Excel 中使用 MAP 函数,使用与其他语言类似的符号。但是请注意,您必须向它传递一个 LAMBDA 函数,而不仅仅是一个内联公式。那么这就是你的答案:

    =MAP({-1,2,3,4,5},LAMBDA(x, ABS(x)))
    

    【讨论】:

    • 先生,您可以尝试:=ARRAYTOTEXT(MAP({-1,2,3,4,5},LAMBDA(m,ABS(m)))) 它返回为{1,2,3,4,5} 或者也可能是这个=SCAN(,{1,2,3,4,5},LAMBDA(x,y,ABS(y)))
    猜你喜欢
    • 1970-01-01
    • 2016-12-14
    • 2021-11-22
    • 2019-11-21
    • 2019-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多