Indexing GSheets:找到与目标匹配的公司,并列出所有公司

Indexing GSheets:找到与目标匹配的公司,并列出所有公司,indexing,google-sheets,formula,Indexing,Google Sheets,Formula,我在A列有公司,每一家公司在每一行的B:F列有3-10个竞争对手。假设我们在A1的一家公司工作,麦当劳。我想做的就是在一个单元格(比如G1)中列出a列中的公司,这些公司将麦当劳列为竞争对手(在B:F列中) 我能做到这一点,但有一个大问题。我已经复制了我的公式行(array/index/large/if/row)5次,但是每次我都需要增加N表示large,但是我得到了#NUM!当公司未多次上市时出错。但是我不能减少我想要容纳的次数,因为很多其他人都会列出这么多 我发誓这一定很简单,我已经把它复杂化

我在A列有公司,每一家公司在每一行的B:F列有3-10个竞争对手。假设我们在A1的一家公司工作,麦当劳。我想做的就是在一个单元格(比如G1)中列出a列中的公司,这些公司将麦当劳列为竞争对手(在B:F列中)

我能做到这一点,但有一个大问题。我已经复制了我的公式行(array/index/large/if/row)5次,但是每次我都需要增加N表示large,但是我得到了#NUM!当公司未多次上市时出错。但是我不能减少我想要容纳的次数,因为很多其他人都会列出这么多


我发誓这一定很简单,我已经把它复杂化了,但我无法理解。

我不确定这是最有效的方法,我希望我能理解你的问题。此公式应能找到A列中列出的公司以及B列到F列中列出的公司。将以下公式放在单元格G1中,并将其复制下来

=iferror(join(",",filter($A$1:$A,MMULT(ARRAYFORMULA(if($A1=$B$1:$F,1,0)),TRANSPOSE(ARRAYFORMULA(COLUMN($B$1:$F)^0)))=1)),"")

非常感谢。如果我有时间的话,我将不得不把它分解,并从每个函数中获取值,我相信这在将来会很有用,但同时,非常感谢!向上投票并标记solved@MarcDungey我很高兴能帮上忙。最容易混淆的部分可能是^0,它确保它总是返回1,而
iferror()
则在
filter()
不返回任何内容时进行捕获。