2015-10-23 275 views
0

例如:=i8&", "&i9&", "&i10 but don't add ", " for any Empty cells
如果所有(三个)单元都有数据,则结果为:data, data, data使用逗号和空格连接单元格,除非单元格为空白/空白

没有结果我想要的,但我得到:, , data(在前面两个单元格为空)。

TRIM不删除, ,,也没有查找/替换。

要加入三列我用:

=i8 & i9 & i10 

为了打破他们与一个逗号和空格我用:

=i8 & ", " & i9 & ", " & i10 

但是当其中一个单元格是空的我不希望“,”在来自后续列的信息之前“,”当它是两个空单元格时“。

我试图对逗号和空格进行排序,但有时搜索没有发现任何内容。此外,当存在数据时,我不想替换'逗号空间'。我尝试了TRIM,但这并没有帮助,因为它似乎没有任何作用,即使这只是为了删除一个空的空间。

除非有人对此有可靠的TRIM声明吗?

我宁愿有一个跳过空白单元格,不包括“”(逗号和空格),那里是没有数据的声明。

基本上想法正在加入三个电话号码: “家庭工作细胞” 到 “(515)555-1234(H),515 555-9876(W)等。”

回答

0

可以使用:

  1. 连接具有一个空间
  2. 然后TRIM()
  3. 然后替代

    = SUBSTITUTE(TRIM(A1 & “” & B1 & “” & C1),“”,“,”)

enter image description here

+0

如果任何单元格包含空格,则会导致问题。我会建议先用NBSP替换那些内部空间。例如:'= SUBSTITUTE(TRIM(SUBSTITUTE(A1,“”,CHAR(160))&“”&SUBSTITUTE(B1,“”,CHAR(160))&“”&SUBSTITUTE(C1,“”,CHAR(160) )),“”,“,”)' –

+0

@RonRosenfeld一个非常好的建议! –

0

我会做这样的事情:

=TRIM(SUBSTITUTE(IF(ISBLANK(I8), "", I8&", ") & 
       IF(ISBLANK(I9), "", I9&", ") & 
       IF(ISBLANK(I10), "", I10&", ") & " ", 
       ", ", 
       "")) 

使用ISBLANK()非空单元格添加了后面的逗号,然后用SUBSTITUTE()删除最后一个逗号。最后一个TRIM()删除任何尾随空格。

Sample: 
I8) Home (515) 555-1234 (H) 
I9) Work 515 555-9876 (W) 
I10) Cell <blank> 

Output: 
(515) 555-1234 (H), 515 555-9876 (W)