CONCATENATE 和 TEXTJOIN 公式 / Excel / VBA

CONCATENATE and TEXTJOIN formulas / Excel / VBA

我又遇到了一些问题。这是交易:

我想使用 TEXTJOIN 函数连接 A:G 范围内的所有元素,跳过可能的空单元格。 问题是,我必须遵循一定的顺序......这就是 H 列所指示的内容:每个字母代表一个列的键

我的想法是使用这个公式:

=CONCATENER("=";"JOINDRE.TEXTE("" - "";VRAI;";STXT(H2;1;1);LIGNE(H2);";";STXT (H2;2;1);LIGNE(H2);";";STXT(H2;3;1);LIGNE(H2);";";STXT(H2;4;1);LIGNE(H2);" ;";STXT(H2;5;1);LIGNE(H2);";";STXT(H2;6;1);LIGNE(H2);";";STXT(H2;7;1);LIGNE( H2);")")

(我知道,看起来很糟糕哈哈)

然后将其复制并粘贴到另一个单元格的值中以完成操作(= textjoin 公式的实际结果)。 不幸的是,这个想法行不通...

我还尝试在 textjoin 公式中使用分隔符周围没有括号的公式,然后用宏替换“-”为“-”,但似乎效果不佳...

有线索吗?

谢谢大家,也感谢已经在这方面帮助过我的人 post:

这就是您要查找的 Textjoin 函数:

 =TEXTJOIN("-",TRUE,INDIRECT(MID(H2,1,1)&ROW(H2)),INDIRECT(MID(H2,2,1)&ROW(H2)),INDIRECT(MID(H2,3,1)&ROW(H2)),INDIRECT(MID(H2,4,1)&ROW(H2)),INDIRECT(MID(H2,5,1)&ROW(H2)),INDIRECT(MID(H2,6,1)&ROW(H2)),INDIRECT(MID(H2,7,1)&ROW(H2)))

除了 832 先生的好答案,对于那些没有 Excel 2016 Textjoin 功能的人来说,这是一个(可能的)替代解决方案。

=SUBSTITUTE(INDIRECT(MID(H2;1;1)&ROW(H2))&" "&INDIRECT(MID(H2;2;1)&ROW(H2))&" "&INDIRECT(MID(H2;3;1)&ROW(H2))&" "&INDIRECT(MID(H2;4;1)&ROW(H2))&" "&INDIRECT(MID(H2;5;1)&ROW(H2))&" "&INDIRECT(MID(H2;6;1)&ROW(H2))&" "&INDIRECT(MID(H2;7;1)&ROW(H2));"  ";" ")