Excel 替换textjoin公式不适用于最终单元格
我尝试在Excel中加入单元格后删除唯一值。这是一个电话号码列表,在我用逗号分隔后,我将其合并到一个单元格中。我用这个公式:Excel 替换textjoin公式不适用于最终单元格,excel,unique,substitution,excel-2016,textjoin,Excel,Unique,Substitution,Excel 2016,Textjoin,我尝试在Excel中加入单元格后删除唯一值。这是一个电话号码列表,在我用逗号分隔后,我将其合并到一个单元格中。我用这个公式: =SUBSTITUTE(TEXTJOIN(",",TRUE,$I$19:$I$28),I19&",","") 无论出于何种原因,它都适用于范围内的每个单元格,最后一个除外;这意味着最后一个电话号码仍然显示在最终列表中。例如,如果我有数字123452345634567和45678,它应该是这样的: 23456,34567,45678 12345,34567
=SUBSTITUTE(TEXTJOIN(",",TRUE,$I$19:$I$28),I19&",","")
无论出于何种原因,它都适用于范围内的每个单元格,最后一个除外;这意味着最后一个电话号码仍然显示在最终列表中。例如,如果我有数字123452345634567和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
你知道为什么会发生这种情况吗?它正在寻找
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,""))
=TEXTJOIN(“,”,TRUE,IF((行($I$19:$I$28)行(19:19))*($I$19:$I$28)”,$I$19:$I$28“)
作为一个数组,在退出编辑模式时,需要使用Ctrl-Shift-Enter键而不是Enter键进行确认。如果操作正确,Excel将在公式周围放置{}
然后复制/拖动它,就像第一个一样
第二,使用MID是更好的选择。@user8529169请单击答案旁边的复选标记,将其标记为正确。