Разделение данных из одной ячейки на несколько в Microsoft Excel 2010 с использованием разделителя двоеточий

-1

Я хочу перенести слова после двоеточия в новые столбцы, поэтому из приведенного ниже примера я бы хотел Specie в B, jehwejkrhwejkrhwe в C, 07/06/2018 в D, магазин волшебных палочек Kim's Wizard Shop в E и Q18FSESPE00374 в F. Любой идеи?

[Продукт: Specie], [UMR: jehwejkrhwejkrhwe], [EffDt: 07/06/2018], [Insd: Магазин волшебных палочек Кима], [PolNo: Q18FSESPE00374]

Kim Harding
источник

Ответы:

0
=MID(A1,SEARCH(":",A1)+1,LEN(A1)-(SEARCH(":",A1)+1))

Моя формула должна быть применена к данным в каждой ячейке.

Если возможно, лучше сделать это на листе 2, указав данные на листе 1.

cybernard
источник
0

Это можно сделать одним из двух способов.


1 - со вспомогательной строкой и двумя простыми формулами:

Screenshot of formula with helper row

Формула в B2 является:

=FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))

И формула в B3 является:

=MID($A$1,B2+1,FIND("]",$A$1,B2)-B2-1)


2 - Без вспомогательных строк, но со сложной формулой:

Screenshot of formula without helper row

Формула в B2 является:

=MID($A$1,FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1-FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1)))

Предварительно подтвержденная версия приведенной выше формулы выглядит следующим образом:

=
MID(
  $A$1,
  FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))+1,
  FIND(CHAR(1),SUBSTITUTE($A$1,"]",CHAR(1),COLUMN()-COLUMN($B:$B)+1))-1
  -FIND(CHAR(1),SUBSTITUTE($A$1,":",CHAR(1),COLUMN()-COLUMN($B:$B)+1))
)

Заметки

  • CHAR(1) был использован, так как почти наверняка этот символ не появится в строке. Конечно, его можно заменить любым другим символом, который, как вы уверены, никогда не будет найден в исходной строке.
robinCTS
источник