gpt4 book ai didi

arrays - 数组公式返回一个没有重复的数组,没有 VBA

转载 作者:行者123 更新时间:2023-12-04 21:10:02 26 4
gpt4 key购买 nike

我想知道是否可以从单个单元格公式返回一个数组,该数组经过过滤以删除重复项,并且纯粹基于 Excel 公式构建。
我知道返回删除重复值的值列表的方法(请参阅 this question ),其中列表分布在多个单元格中。但是我特别想返回一个中间数组。
例如。对于 A1:A5 中的列表,我可以得到一个值数组{0.1,0.2,0.2,0.7,0.3} , 我想要第二个数组 {0.1,0.2,0.7,0.3} ,作为数组公式的中间体。 Current approaches使用单端锚定范围(如 C$1:C1 )以几何方式遍历数组中的项目(通过向下拖动列 C)。我想在公式中不迭代数组。然后我可以像处理任何其他数组一样操作它。
如果可能,所有这些都应该在一个单元格中进行。
注意
两个MacroMarc'sBarry Houdini's答案是完全有效的,我对每个答案都进行了速度检查 - 差异可以忽略不计(任何差异都小于测试运行之间的差异)。两者都得分 ~ 1.0±0.2 ms

最佳答案

我为 Range (A1:A5) 使用了一个定义的名称,并将其命名为 myList。您也可以这样做,或者如果您愿意,可以在地址 $A$1:$A$5 中替换:
{=INDEX(myList, N(IF({1}, MODE.MULT(IF(MATCH(myList, myList, 0) = ROW(myList), ROW(myList)*{1,1})))), 1)}
编辑:如果列列表在工作表的下方,并且由 OP 提供的更短的 minrow 例程,则上面的处理并不可靠:
{=INDEX(myList, N(IF({1}, MODE.MULT(IF(MATCH(myList, myList, 0)=ROW(myList)-MIN(ROW(myList))+1, (ROW(myList)-MIN(ROW(myList))+1)*{1,1})))), 1)}
这对你来说应该没问题。不用说,这些是数组公式..

关于arrays - 数组公式返回一个没有重复的数组,没有 VBA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47294089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com