2017-08-28 4 views
0

J'essaie de supprimer les valeurs uniques après avoir joint des cellules dans Excel. C'est une liste de numéros de téléphone que je combine dans une seule cellule après les avoir séparés par une virgule. J'utilise cette formule:La formule textjoin de remplacement ne fonctionne pas pour la cellule finale

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

Pour une raison quelconque, il applique correctement à chaque cellule de la plage, sauf pour le dernier; ce qui signifie que le dernier numéro de téléphone apparaît toujours dans la liste finale. Ainsi, par exemple, si je nombre 12345 23456 34567 and 45678, il devrait sortir comme ceci:

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

mais il vient comme ça

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

Toutes les idées pour lesquelles cela pourrait se produire?

Répondre

1

Il cherche 45678, à remplacer par "". Il n'y a pas de , à la fin. Donc, on force un, puis l'enlever à la fin:

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

Ou mettre la virgule sur l'avant et utiliser MID:

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

Ou vous pouvez utiliser TEXTJOIN sous forme de tableau:

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

être un tableau, il doit être confirmé avec Ctrl-Maj-Entrée au lieu de Enter lorsque vous quittez le mode d'édition. Si c'est fait correctement, Excel mettra {} autour de la formule.

Ensuite, copiez/faites glisser vers le bas comme vous le faites avec le premier. La seconde, en utilisant le MID est le meilleur des choix.

+0

Cela a fonctionné, merci beaucoup, Scott! – user8529169

+0

@ user8529169 Veuillez marquer comme correct en cliquant sur la coche par la réponse. –