请帮我解决这个问题。我正在尝试搜索字符串的所有相似部分,然后将它们组合在一起,然后将所有数字值添加到字符串的开始部分。
输入:单元格A1
2 x Onsemi 3000K E27; 7 x Onsemi 3000K E27; 9 x Phoenix Eco 7W 4000K B22; 1 x Phoenix Eco 7W 4000K B22
输出:单元格B1
9 x Onsemi 3000K E27; 10 x Phoenix Eco 7W 4000K B22
尝试使用谷歌匹配功能,但在如何将它们合并然后添加数量上却步步艰难。
非常感谢您的帮助。
最佳答案
=ARRAYFORMULA(TEXTJOIN("; ", 1, TRANSPOSE(QUERY(TRANSPOSE(QUERY({
REGEXEXTRACT(TRANSPOSE(SPLIT(A1, ";")), "(\d+)")*1,
REGEXEXTRACT(TRANSPOSE(SPLIT(A1, ";")), "\d+ (.*)")},
"select sum(Col1),Col2
group by Col2
label sum(Col1)''", 0)),,999^99))))