Excel 数组公式结果连接到单个单元格中
是否可以从数组公式中获取返回值并将其连接到单个单元格中?例如,我有一个简单的电子表格,其中包含项目任务的行,如下所示:Excel 数组公式结果连接到单个单元格中,excel,user-defined-functions,formula,Excel,User Defined Functions,Formula,是否可以从数组公式中获取返回值并将其连接到单个单元格中?例如,我有一个简单的电子表格,其中包含项目任务的行,如下所示: Task # Description Blocked on Blocking ----------------------------------------------- 1 Task 1 2 2 Task 2 $formula 3
Task # Description Blocked on Blocking
-----------------------------------------------
1 Task 1 2
2 Task 2 $formula
3 Task 3 2
我希望D3单元格中的公式返回“1,3”(在Blocked On单元格中输入多个值也很好)。我现在用下面的公式得到它返回“1”:
=(INDEX($A2:$A999,MATCH(A3,$C2:$C999,0)))
您要查找的公式是(在d3中):=IF($C$2:$C$999=$A4;$A$2:$A$999;“”)+ctrl+shift+enter 请确保将其作为数组输入 (注意:您可能还需要将;更改为,,具体取决于您的区域设置) 这将返回与当前Ai匹配的C中if数据的内容。您现在只能看到一个结果,因为结果是数组,但如果使用Transpose()并选择同一行中的多个单元格,然后使用F2,然后按住ctrl+shift+enter键,您将看到一行中的所有结果! 例如:选择D3:K3,按F2,写公式:=转置(如果($C$2:$C$999=$A4;$A$2:$A$999;“”),按ctrl+shift+enter。。。 (同样,您可能需要写:=转置(如果($C$2:$C$999=$A4,$A$2:$A$999,”))) 但是您必须在右侧有许多列,因为空结果仍然占用列! 即使空字符串被处理为不占用任何列,仍然存在未知结果列的问题。因此,我建议使用VBA函数(我不久前编写的函数)将有效结果连接到一个单元格中(使用您喜欢的任何分隔符) D3中的最终建议公式:=MyConCat(“-”IF($C$2:$C$999=$A2;$A$2:$A$999;”)+ctrl+shift+enter 和MyConCat的代码(放置在VBA代码区的模块中):
在D3单元中试试这个。按数组公式Ctrl+Shift+Enter输入
=IFERROR(LEFT(SUBSTITUTE(CONCAT(IF(A3=C2:C4,A2:A4)&"-"),"FALSE-",""),LEN(SUBSTITUTE(CONCAT(IF(A3=C2:C4,A2:A4)&"-"),"FALSE-",""))-1),"")
简单有效!不错。想给你一些分数,但我需要一些声誉(好或坏)在这个网站上。两个更正:>D3中的最终建议公式:>=MyConCat(“-”如果($C$2:$C$999=$A2;$A$2:$A$999;”)+ctrl+shift+enter不知道为什么分号(;)应该是逗号:=MyConCat(“-”),如果($C$2:$C$999=$A2,$A$2:$A$999;”)ctrl+shift+enter我在你的IF语句中到处都能看到这些分号。哎哟否则就是一流的!非常喜欢撇号。@St4n1ey使用分号和逗号是一种区域设置。发布的公式没有问题。
=IFERROR(LEFT(SUBSTITUTE(CONCAT(IF(A3=C2:C4,A2:A4)&"-"),"FALSE-",""),LEN(SUBSTITUTE(CONCAT(IF(A3=C2:C4,A2:A4)&"-"),"FALSE-",""))-1),"")