【发布时间】:2020-05-26 23:56:10
【问题描述】:
我有以下数据
我想要实现的是这些中间数组
即对于 JohnProject,有两个条目 A 和 C。对于项目 A,第二个表中有两个标签 10 和 6,对于项目 C,有三个标签 22、9、7。我想在更大的数组公式中将它们作为中间数组。
带数组公式
=UNIQUE(IF({"D"}=D2:D9,ROW(D2:D9)))
我可以为 JuliaProject D 和 4,8 获得更接近的结果,但对于任何其他有两个项目的人来说,它不起作用。
=UNIQUE(IF({"A","C"}=D2:D9,ROW(D2:D9)))
我希望在表格中获得中间结果,以便在其他数组公式中使用数组。
编辑:我的问题的复杂版本。
好的,更大的问题。解释起来有点复杂。但我可以试试。我有一个映射表、真值表和输入数据。我想看看输入数据是否可以使用真值表和映射表进行映射。所以它有点像我想在最后实现的映射。映射表本身是多对多的,一个项目可以有多个标签,一个标签可以关联多个项目,但里面没有Person。纯粹的项目和标签。真值表有 Person 和 Projects 但没有标签。我想从唯一的人映射到标签。我可以轻松获取与一个人关联的所有项目(在数组公式中作为中间数组),现在对于我在数组中获得的每个项目,我想找出所有标签并将它们合并到一个数组中。问题在于映射表中的多对多关系,因为它返回多维数组而不是一维。我想获得一个数组(数组公式的中间值)来最终搜索声明的标签是否在该列表中。我希望这是有道理的。
【问题讨论】:
-
这可能是
XY Problem。也许如果您指明最终结果是您想要做什么,就可以制定出更好的解决方案。
标签: excel excel-formula array-formulas