Excel анализирует и конвертирует текст

Мне нужно иметь возможность конвертировать ячейки из одного формата в другой в соответствии со следующими правилами:

Property Description    --enter as--    Folio Identifier
----------------------------------------------------------
Lot 23 DP789678                         23/789678
Lot 7 Section 12 DP6789                 7/12/6789
Lot 1 SP 45676                          1/SP45676
Common Property Title SP45676           CP/SP45676
Volume 7456 Folio 56                    7456-56
Auto-Consol 5674-78                     5674-78
Water Access Licence No. 123            WAL123 

Таким образом, вещь слева должна быть заменена на вещь справа. Например, если у меня есть ячейки, которые выглядят как лот 23 DP789678, их необходимо преобразовать в лот 23 DP789678. Как мне написать формулу, которая будет делать это для всех вышеперечисленных случаев?


person jonty    schedule 19.08.2009    source источник
comment
Мне кажется, что люди смогут помочь вам больше, если вы укажете правила, а не набор примеров.   -  person Isaac Moses    schedule 20.08.2009


Ответы (2)


У меня есть формула для вас. Единственная проблема в том, что я не мог поместить его в одну ячейку. Он просто слишком большой, и Excel жалуется на это. Так что это нужно сделать в 2 шага. A1 содержит исходный текст. D1 будет содержать промежуточный результат (вы можете скрыть этот столбец, если хотите) E1 будет содержать окончательный результат.

Формула для D1:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1, "Lot ", ""), "Section ", ""), "SP ", "SP"), "Common Property Title", "CP"), "Volume ", ""), "Auto-Consol ", ""), "Water Access Licence No. ", "WAL"), " Folio ","-")

Формула для Е1:

=SUBSTITUTE(D1, " ", "/")
person DmitryK    schedule 19.08.2009
comment
Спасибо. Но с этим есть проблема. Даже когда я изменил E1 на =SUBSTITUTE(SUBSTITUTE(D1, DP, 0), , /) Для ввода, такого как Lot 817 DP 1005981, я получил бы 817/0/1005981. - person jonty; 19.08.2009

Вы можете использовать функции ПОИСКПОЗ и ИНДЕКС. Предположим, что Описание свойства и Идентификатор фолио находятся в столбцах A1:A7 и B1:B7 соответственно, а строка, которую вы хотите заменить, находится в A12, тогда пусть B12 будет:

=INDEX(B1:B7,MATCH(A12,A1:A7,0))

E.g.

                A                          B
1   Lot 23 DP789678                 23/789678
2   Lot 7 Section 12 DP6789         07/12/89
3   Lot 1 SP 45676                  1/SP45676
4   Common Property Title SP45676   CP/SP45676
5   Volume 7456 Folio 56            7456-56
6   Auto-Consol 5674-78             5674-78
7   Water Access Licence No. 123    WAL123
8       
9       
10      
11      
12  Lot 23 DP789678                 23/789678
13  Common Property Title SP45676   CP/SP45676
14  Water Access Licence No. 123    WAL123
15  Water Access Licence No. 123    WAL123
person Jacob    schedule 19.08.2009
comment
Я думаю, вы неправильно поняли. Это примеры форматов, а не жестко закодированные примеры. Так что, если я получу партию 25 DP321, я бы хотел 25/321. - person jonty; 19.08.2009
comment
Но каковы ваши критерии для преобразования текста? Вы выбираете только числа или они разделены пробелами? Не могли бы вы дать нам больше информации о формате? - person Jacob; 19.08.2009