Similarquestions这已被问到,但不完全是这样的。有非常接近的one,但该解决方案不适合我。Excel SUMIFS多个标准单元格值
我有一个函数,它将逗号分隔值返回到单元格中。我想通过使用类似one的方法将该单元中的元素作为标准传递给SUMIFS
函数。
我尝试如下图所示:
我认为,这在某种程度上依赖于该功能是理解什么是在细胞G8的方式。它看起来像增加了一些额外的引号。如果我在公式栏中,然后按F9突出G8,我得到:
有对每个标准每侧额外的引号。
我打开一个自定义的VBA函数解决方案,但我更喜欢可以构建为工作表函数的东西。条件从一个自定义的VBA函数返回,该函数将元素从列表框中拉出来,并执行一些正则表达式来移除额外的逗号。可以选择的元素数量是可变的,所以我想避免将标准分割成多个单元格。谢谢。
“{”Dog“,”Cat“}”字符串是_string_,而不是数组。传递一个字符串,即使它类似于一个数组,仍然是一个字符串而不是一个数组,所以不起作用。你说你有一个VBA函数,它将一个逗号分隔的列表返回给一个单元格。尝试改变它返回一个数组,并在你的'SUMIFS'公式中调用它(绕过将列表返回给单元格) –
Thanks @chrisneilsen。我正在使用的函数非常类似于[在这里]列出的答案的示例2中的函数(http://stackoverflow.com/questions/22542834/how-to-use-regular-expressions-regex-in-microsoft -excel-两个功能于细胞和循环)。我试图按照示例[这里](http://stackoverflow.com/questions/1815980/excel-vba-function-returning-an-array)返回一个集合,但我得到一个错误'参数不可选'在我的输出。任何想法如何确保我的函数根据需要返回数组? –
如果你发布了代码和你想要的函数的描述,我可以帮助 –