|
|
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
хорошая функция СЖПРОБЕЛЫ, но хотелось бы иметь инструмент (формулу), который бы позволял делать то же самое, но для заданного символа никому не приходилось реализовывать подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 11:22 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
DaniilKхорошая функция СЖПРОБЕЛЫ, но хотелось бы иметь инструмент (формулу), который бы позволял делать то же самое, но для заданного символа никому не приходилось реализовывать подобное? ПОДСТАВИТЬ() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 11:22 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
Допустим, у меня, строка (текст в ячейке): г./Москва ///Россия//Московская обл.// Допустим, мне нужно заменить все "/" (и любое количество их посторов) на " " (пробел). Как с помощью ПОДСТАВИТЬ из этой строки получить: г. Москва Россия Московская обл. ?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 11:49 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1;"/";" ")) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 12:01 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
блин... неправильно объяснил.. из г./Москва ///Россия//Московская обл.// должно получаться: г./Москва /Россия/Московская обл./ ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 12:16 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"//";"/");"//";"/") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 13:33 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
Наверное, чтобы не зависеть от кол-ва повторенных символов, лучше так: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"|");"/";" "));" ";"/");"|";" ")&"/" KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 13:46 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
KL (XL)Наверное, чтобы не зависеть от кол-ва повторенных символов, лучше так: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"|");"/";" "));" ";"/");"|";" ")&"/" KL [MVP - Microsoft Excel] То же что-то подобное хотел, но не догадался временно пробелы на чё нибуть заменить ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 14:07 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
а что такое "|" ?... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 14:17 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
DaniilKа что такое "|" ?... Это любой символ, который заведомо не встречается в исходном тексте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 14:18 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
KL (XL) DaniilKа что такое "|" ?... Это любой символ, который заведомо не встречается в исходном тексте. Например qwertyuiopasdfghjklzxcvbnm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 14:40 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
KL (XL) DaniilKа что такое "|" ?... Это любой символ, который заведомо не встречается в исходном тексте. понял, спасибо а зачем в конце & ? это именно для этого частного случая? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 15:34 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
DaniilKа зачем в конце & ? это именно для этого частного случая? Конечно, решение основано на твоем примере. Слэш на конце или должен быть или не должен. Или возможны еще варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 15:46 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
подразумевалось, что в определенной ячейке задаешь символ, а дальше формула чтобы действовала полностью по аналогии с механизмом действия СЖПРОБЕЛЫ, то есть убирала бы все повторяющиеся сочетания заданного символа, оставляя лишь один ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 16:02 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
СЖПРОБЕЛЫ действует не так, как ты думаешь :-) Эта функция делает следующее: 1) уничтожает все пробелы в начале строки 2) уничтожает все пробелы в конце строки 3) заменяет все остальные скопления пробелов на один пробел KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 16:25 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
вот мой ответ: "буду знать... я тут у одного человека в аське пытался это спросить, его не было, а вот сейчас он прислал ответ (он раньше общался тоже на форумах об Эксель, ник его @Nik): =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A5;ПОВТОР(B4;5);B4);ПОВТОР(B4;3);B4);ПОВТОР(B4;2);B4);ПОВТОР(B4;2);B4) текст в A5, в B4 символ или символы, которые хотим сократить" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 17:32 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
DaniilKвот мой ответ: "буду знать... я тут у одного человека в аське пытался это спросить, его не было, а вот сейчас он прислал ответ (он раньше общался тоже на форумах об Эксель, ник его @Nik): =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A5;ПОВТОР(B4;5);B4);ПОВТОР(B4;3);B4);ПОВТОР(B4;2);B4);ПОВТОР(B4;2);B4) текст в A5, в B4 символ или символы, которые хотим сократить"Дело хозяйское, но имей ввиду: 1) формула моего знакомого @Nik не справляется со след. текстом: г./Москва //Россия///////////////////////////////////////////////Московская обл.// 2) если все-таки нужен функционал отличный от СЖПРОБЕЛЫ, то более универсальным решением будет: =ПОВТОР(B4;(ЛЕВСИМВ(A5)=B4))&ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A5;" ";"|");B4;" "));" ";B4);"|";" ")&ПОВТОР(B4;(ПРАВСИМВ(A5)=B4)) ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 18:04 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
или еще короче: =ЛЕВСИМВ(A5)&ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A5;2;ДЛСТР(A5)-2);" ";"|");B4;" "));" ";B4);"|";" ")&ПРАВСИМВ(A5) KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 18:07 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
спасибо большое! :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.12.2007, 18:44 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
В продолжении темы, так сказать.. А реально ли из текста "тексто/вы?й\\те кст" с пом. формулы получить текст: "тексто_вы_й__те_кст" ? пробовал по наивности формулу: =ПОДСТАВИТЬ(B2;{"\";" ";"/";"?";"*";"[";"]"};"_"), но она чего-то не то делает .. :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 18:57 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
то есть хотелось бы заменить все перечисленные символы на "_" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 18:58 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
DaniilKВ продолжении темы, так сказать.. А реально ли из текста "тексто/вы?й\\те кст" с пом. формулы получить текст: "тексто_вы_й__те_кст" ? пробовал по наивности формулу: =ПОДСТАВИТЬ(B2;{"\";" ";"/";"?";"*";"[";"]"};"_"), но она чего-то не то делает .. :( Такая формула возвращает массив из результатов замены для каждого из элементов массива второго параметра: {"тексто/вы?й__те кст";"тексто/вы?й\\те_кст";"тексто_вы?й\\те кст";"тексто/вы_й\\те кст";"тексто/вы?й\\те кст";"тексто/вы?й\\те кст";"тексто/вы?й\\те кст"} Думаю, что сделать это, используя только встроенные функции, либо невозможно либо нецелесообразно. Лучше писать пользовательскую функцию с "regular expressions" в VBA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 20:49 |
|
||
|
аналог СЖПРОБЕЛЫ
|
|||
|---|---|---|---|
|
#18+
Пардон, не обратил внимания на кол-во элементов в массиве: =ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($A$1;"]";"_");"[";"_");"*";"_");"?";"_");"/";"_");" ";"_");"\";"_") В 2003-й версии это как раз предел, в 2007-й можно добавлять 64 уровней KL [MVP - Microsoft Excel] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2008, 21:03 |
|
||
|
|

start [/forum/topic.php?fid=61&startmsg=35006685&tid=2177043]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
471ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 785ms |

| 0 / 0 |
