这个公式不是我要求的,B2是DA2305220203+DA2305220201,B3是DA2304030117+DA2304030120,B4是DA2305110204+ DA2305160249,B5是DA2304280242,输出结果为什么是DA2305220203+DA2305220201+,我要求的输出结果一个柜是:DA2305220203+DA2305220201+DA2304030117+DA2304030120+DA2305110204+ DA2305160249+DA2304280242
时间: 2023-08-16 14:07:42 浏览: 119
非常抱歉,之前的公式有误。以下是修正后的公式:
```
=SUBSTITUTE(CONCATENATE(IFERROR(IF('ZTE PK ORDER'!B2:B1048576<>"",'ZTE PK ORDER'!B2:B1048576&"+",""), "")),"+","",LEN(CONCATENATE(IFERROR(IF('ZTE PK ORDER'!B2:B1048576<>"",'ZTE PK ORDER'!B2:B1048576&"+",""), "")))-LEN("+"))
```
这个公式的含义是从'ZTE PK ORDER'表格中的B2单元格开始,将B列中所有非空单元格的内容用"+"拼接起来,并且忽略空值。其中,`B2:B1048576`表示B列中从B2单元格到最后一个单元格的范围,`1048576`是Excel工作表中的最大行数。在拼接字符串的过程中,使用IFERROR函数来判断单元格中是否有内容,如果有则将对应的内容和"+"拼接起来,否则不做处理。最后使用`SUBSTITUTE`函数将结果中的最后一个"+"替换掉。
最终的结果应该是:
```
DA2305220203+DA2305220201+DA2304030117+DA2304030120+DA2305110204+DA2305160249+DA2304280242
```
请注意,如果你的数据范围比"DA2305..."更大,可以将"B1048576"替换成大于你数据范围的行数。但需要注意的是,这个公式的计算量比较大,如果数据比较多,可能会导致Excel卡顿或者崩溃。如果你有任何问题,请随时提出。
阅读全文