【问题标题】:How to make a list from different rows in a column if cell contains other information如果单元格包含其他信息,如何从列中的不同行创建列表
【发布时间】: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 & ","; "")))

New Exemple

【问题讨论】:

  • =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


【解决方案1】:

我想我明白你想要什么。把它放在 E2 中:

=unique(transpose(split(join(",";C:C)&join(",";C:C);",")))

Tis 将在 E 列中创建一个唯一处理器列表。然后将其放入 F2 并将公式向下拖到 F 列:

=if(E2<>"";join(", ";transpose(ifError(filter(B:B;ifError(search(E2;C:C);false)))));"")

这将加入处理器旁边 F 列中单元格中的计算机列表。

【讨论】:

  • 谢谢!!这出乎我的意料,我永远也想不通。第一个公式对于我的需要不是必需的,但第二个几乎正是我所需要的。唯一的“问题”是我可能想要对保留公式的表格进行排序,无论出于何种原因,它都会混淆所有数据并且不再起作用。 我不会那样做的
  • 如果我对表格进行排序,这些公式将继续正常工作。我通过在 B 列上排序进行了测试。
猜你喜欢
  • 2022-12-15
  • 1970-01-01
  • 2022-01-27
  • 2021-12-18
  • 2012-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多