我想实现下图中“期望的输出”列中的功能。我需要获取第1行中的内容(id1,id2等),在其中添加“:”,然后将其与每个“字段”列下的值连接起来,并添加“ |”每个ID-Value对,然后将它们全部合并到一个单元格中。我需要公式也适用于空单元格,因为要串联在一起的字段数是动态的。
到目前为止,我已经在一个单元格中尝试了一个大的CONCATENATE公式,但是我只能使它适用于该公式中包含的尽可能多的非空白单元格。
谢谢!
答案 0 :(得分:3)
使用JOIN:
=arrayformula(join("|",filter($B$1:$E$1& ":" & B2:E2,B2:E2<>"")))
使用TEXTJOIN
=TEXTJOIN("|",,IF(B2:E2<>"",$B$1:$E$1 & ":" & B2:E2,""))
这将是一个数组公式,退出编辑模式时必须使用ctrl-Shift-Enter而不是Enter进行确认。