【发布时间】:2017-08-17 11:35:17
【问题描述】:
我有两张纸,一张是计算机信息,另一张是处理器。我想在处理器表中添加一列,列出使用这些处理器的计算机,即使我更改了任何表的顺序。
This is my Google Sheet exemple
我发现这个公式只在同一行包含数据时才有效,而不是整个列,因为它会为不包含在同一 C 行中的每个 E 发出 #VALUE 错误。
=ARRAYFORMULA(IF(SEARCH(E2:E;C2:C); JOIN(", ";B2:B); ""))
它还会添加所有计算机,而不仅仅是具有相同处理器的计算机。在屏幕截图中它是 CONCATENER,但我发现 JOIN 效果更好。
任何建议或想法都会很棒。我已经不得不更改处理器在两张表中的编写方式,以便更容易通过公式进行搜索。关键是要知道我可以使用哪个服务器,而不必一直在两张纸之间来回走动。
编辑:使用这个公式只在一个单元格中提供了我想要的内容,但即使应该有更多,也只会添加一串文本。
=ARRAYFORMULA(JOIN(""; SI(E2=$C$2:$C; $B$2:$B & ","; "")))
【问题讨论】:
-
像
=ARRAYFORMULA(JOIN("", if(E2=C2:C6, B2:B6, "")))这样的东西我认为更接近你正在寻找的东西。你最终会得到一个尾随分隔符。 -
谢谢!它更接近但仅适用于一个单元格并且它不会形成字符串。尝试复制/粘贴到其他单元格,我仍然必须一一更改每个公式,以便它进入正确的单元格。已添加信息的已编辑问题。
-
你可以锚定,这样你就可以复制和粘贴,如:
=ARRAYFORMULA(JOIN("", if(E2=$C$2:$C$6, $B$2:$B$6 & ",", "")))但我同意它可以使用更多的调整来擦掉逗号(这个版本在评论逗号分隔很好,但离开尾随逗号。 -
谢谢!我不知道 $ 是什么意思!
标签: excel-formula google-sheets spreadsheet array-formulas