2017-08-28 37 views
0

我想在Excel中连接单元格后删除唯一值。这是一个电话号码列表,我用逗号分隔后将它们合并为一个单元格。我使用这个公式:替代文本连接公式不适用于最终单元格

=SUBSTITUTE(TEXTJOIN(",",TRUE,$I$19:$I$28),I19&",","") 

无论出于何种原因,正确地适用于每一个细胞中除了最后一个范围内;这意味着最后的电话号码仍然显示在最终列表中。因此,举例来说,如果我有一个数字12345 23456 34567 and 45678,它应该出来是这样的:

23456,34567,45678  
12345,34567,45678  
12345,23456,45678  
12345,23456,34567 

但它出来像这样

23456,34567,45678  
12345,34567,45678  
12345,23456,45678  
12345,23456,34567,45678 

任何想法,为什么这可能发生?

回答

1

它需要45678,来代替""。最后没有,。所以我们强迫一个,然后在年底将其删除:

=LEFT(SUBSTITUTE(TEXTJOIN(",",TRUE,$I$19:$I$28) & ",",I19&",",""),LEN(SUBSTITUTE(TEXTJOIN(",",TRUE,$I$19:$I$28) & ",",I19&",",""))-1) 

或将逗号前面和使用MID:

=MID(SUBSTITUTE(","&TEXTJOIN(",",TRUE,$I$19:$I$28),"," &I19,""),2,999) 

或者你可以在一个阵列的形式使用TEXTJOIN:

=TEXTJOIN(",",TRUE,IF((ROW($I$19:$I$28)<>ROW(19:19))*($I$19:$I$28<>""),$I$19:$I$28,"")) 

作为一个数组,它需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。如果正确完成,Excel将在公式周围放置{}

然后像复制第一个一样复制/拖动它。


第二,使用MID是更好的选择。

+0

这工作,非常感谢你,斯科特! – user8529169

+0

@ user8529169请在答案处点击复选标记并标记为正确。 –

相关问题