如何根据特定行数的约束进行 TEXTJOIN/CONCATENATE

如何根据特定行数的约束进行 TEXTJOIN/CONCATENATE

我需要根据特定物料编号的序列号和公式连接某些属性值以自动化该过程。我有以下屏幕截图中列出的列,我希望得到“预期结果”列中的结果。 预期结果

我需要的所有辅助列是什么以及如何通过公式获取我的预期值?

答案1

如果您拥有最新版本的 Excel,您可以尝试并调整以下公式:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TEXTJOIN(" ",TRUE,FILTER(FILTER($A$1:$F$14,$A$1:$A$14=A1),{0,0,0,1,1,1})),"RAM","RAM:")," ROM",", ROM:")," Screen size",", Screen size:")," Thickness",", Thickness:")," Certification", ", Certification:")

将公式向下拖动以填充其他单元格。

解释:

  • FILTER($A$1:$F$14,$A$1:$A$14=A1):根据第一列值(物料编号)过滤数据。
  • FILTER(FILTER($A$1:$F$14,$A$1:$A$14=A1),{0,0,0,1,1,1})):对内层/前一个公式的结果进行过滤,仅返回属性的名称、值和计量单位。
  • TEXTJOIN(" ",TRUE,FILTER(FILTER($A$1:$F$14,$A$1:$A$14=A1),{0,0,0,1,1,1})):前一个公式的结果以空格连接。
  • 最后,一些单词被替换为添加的逗号和分号。

答案2

想法相同,但公式略有不同:

=SUBSTITUTE(SUBSTITUTE(TEXTJOIN({": "," ",", "},TRUE,
FILTER($D$2:$F$22,$A$2:$A$22=$A2))," CERTIFICATION", "",2),
": CERTIFICATION",",")

列表

相关内容