Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Привести к общему виду… лишние пробелы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Привести к общему виду… лишние пробелы (Формулы/Formulas)
Привести к общему виду… лишние пробелы
HoBU4OK Дата: Понедельник, 12.09.2022, 15:03 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток
Столкнулся с проблемой выгруженного файла в .txt
1 485,00 0,00 1 487,00 0,00 0,00 0,00 1 487,00 0,00
646,00 0,00 0,00 0,00 0,00 646,00
4 270,00 0,00 0,00 0,00 4 270,00

Необходимо получить «текст по столбцам» с числовыми значениями
1485,00 0,00 1487,00 0,00 0,00 0,00 1487,00 0,00
646,00 0,00 0,00 0,00 0,00 646,00

Проблема в лишних пробелах… не знаю как от них избавиться
Принимаю помощь Excel формулами и Power Query)))

Файл приложить нет технической возможности, цифры строки в одной ячейке
Всем не безучастным clap clap clap


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
СообщениеДоброго времени суток
Столкнулся с проблемой выгруженного файла в .txt
1 485,00 0,00 1 487,00 0,00 0,00 0,00 1 487,00 0,00
646,00 0,00 0,00 0,00 0,00 646,00
4 270,00 0,00 0,00 0,00 4 270,00

Необходимо получить «текст по столбцам» с числовыми значениями
1485,00 0,00 1487,00 0,00 0,00 0,00 1487,00 0,00
646,00 0,00 0,00 0,00 0,00 646,00

Проблема в лишних пробелах… не знаю как от них избавиться
Принимаю помощь Excel формулами и Power Query)))

Файл приложить нет технической возможности, цифры строки в одной ячейке
Всем не безучастным clap clap clap

Автор - HoBU4OK
Дата добавления - 12.09.2022 в 15:03
Nic70y Дата: Понедельник, 12.09.2022, 15:19 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8759
Репутация: 2272 ±
Замечаний: 0% ±

Excel 2010
если у вас число всегда заканчивается ,00
можно cthl+h
найти ,00пробел
заменить на ;
затем текст по столбцам с разделителем ;


ЮMoney 41001841029809
 
Ответить
Сообщениеесли у вас число всегда заканчивается ,00
можно cthl+h
найти ,00пробел
заменить на ;
затем текст по столбцам с разделителем ;

Автор - Nic70y
Дата добавления - 12.09.2022 в 15:19
HoBU4OK Дата: Понедельник, 12.09.2022, 15:28 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Nic70y, гениальное просто!)

Но мое упущение, встречается и ,25 и ,50
Строка примера:
10 420,25 0,00 0,00 0,00 10 420,25 0,00
Надо:
10420,25 0,00 0,00 0,00 10420,25 0,00


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
СообщениеNic70y, гениальное просто!)

Но мое упущение, встречается и ,25 и ,50
Строка примера:
10 420,25 0,00 0,00 0,00 10 420,25 0,00
Надо:
10420,25 0,00 0,00 0,00 10420,25 0,00

Автор - HoBU4OK
Дата добавления - 12.09.2022 в 15:28
_Boroda_ Дата: Понедельник, 12.09.2022, 15:42 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
А у Вас там точно именно пробелы (код 32)? Очень часто это бывает неразрывный пробел (код 160).
Проверьте.
Типа вот так
Код
=КОДСИМВ(ПСТР(A1;3;1))


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеА у Вас там точно именно пробелы (код 32)? Очень часто это бывает неразрывный пробел (код 160).
Проверьте.
Типа вот так
Код
=КОДСИМВ(ПСТР(A1;3;1))

Автор - _Boroda_
Дата добавления - 12.09.2022 в 15:42
HoBU4OK Дата: Понедельник, 12.09.2022, 16:21 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, к сожалению все пробелы одинаковы… .txt копипаст с .pdf :crazy:


Я думал, ты остроглазый лев, а ты слепая собака :-)

Сообщение отредактировал HoBU4OK - Понедельник, 12.09.2022, 16:29
 
Ответить
Сообщение_Boroda_, к сожалению все пробелы одинаковы… .txt копипаст с .pdf :crazy:

Автор - HoBU4OK
Дата добавления - 12.09.2022 в 16:21
Serge_007 Дата: Понедельник, 12.09.2022, 16:36 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
встречается и ,25 и ,50
cthl+h
найти ,25
пробел
заменить на ^
cthl+h
найти ,50
пробел
заменить на :
затем текст по столбцам с разделителем ^ :
?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
встречается и ,25 и ,50
cthl+h
найти ,25
пробел
заменить на ^
cthl+h
найти ,50
пробел
заменить на :
затем текст по столбцам с разделителем ^ :
?

Автор - Serge_007
Дата добавления - 12.09.2022 в 16:36
HoBU4OK Дата: Понедельник, 12.09.2022, 16:50 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
Serge_007, как промежуточное решение можно и использовать, но вообще это копейки и хотелось бы их сохранить…


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
СообщениеSerge_007, как промежуточное решение можно и использовать, но вообще это копейки и хотелось бы их сохранить…

Автор - HoBU4OK
Дата добавления - 12.09.2022 в 16:50
_Boroda_ Дата: Понедельник, 12.09.2022, 16:52 | Сообщение № 8
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Сразу формулой тянем по столбцам
Код
=ЕСЛИОШИБКА(--ПСТР($A1;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(", "&$A1;СТРОКА($1:$99);1)=",";СТРОКА($1:$99));СТОЛБЕЦ(A1))+(СТОЛБЕЦ(A1)>1);ИНДЕКС(ЧАСТОТА(СТРОКА($1:$99);ЕСЛИ(ПСТР($A1;СТРОКА($1:$99);1)=",";СТРОКА($1:$99)+3));СТОЛБЕЦ(A1)));"")

Формула массива, вводится одновременным нажатием Контрл Шифт Ентер
Не оптимизировано, наверняка можно сократить )))

Добавлено
Уж +3 точно можно в формуле убрать )))
К сообщению приложен файл: 7857.xlsm (12.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеСразу формулой тянем по столбцам
Код
=ЕСЛИОШИБКА(--ПСТР($A1;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(", "&$A1;СТРОКА($1:$99);1)=",";СТРОКА($1:$99));СТОЛБЕЦ(A1))+(СТОЛБЕЦ(A1)>1);ИНДЕКС(ЧАСТОТА(СТРОКА($1:$99);ЕСЛИ(ПСТР($A1;СТРОКА($1:$99);1)=",";СТРОКА($1:$99)+3));СТОЛБЕЦ(A1)));"")

Формула массива, вводится одновременным нажатием Контрл Шифт Ентер
Не оптимизировано, наверняка можно сократить )))

Добавлено
Уж +3 точно можно в формуле убрать )))

Автор - _Boroda_
Дата добавления - 12.09.2022 в 16:52
_Boroda_ Дата: Понедельник, 12.09.2022, 16:55 | Сообщение № 9
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
cthl+h
найти ,25
пробел
заменить на ;


cthl+h
найти ,25пробел
заменить на ,25;

Затем удалить пробелы (cthl+h) и текст по столбцам
Но есть ли только ,25 и ,50 или могут быть еще и ,38 и ,77 и еще что-то?


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
cthl+h
найти ,25
пробел
заменить на ;


cthl+h
найти ,25пробел
заменить на ,25;

Затем удалить пробелы (cthl+h) и текст по столбцам
Но есть ли только ,25 и ,50 или могут быть еще и ,38 и ,77 и еще что-то?

Автор - _Boroda_
Дата добавления - 12.09.2022 в 16:55
HoBU4OK Дата: Понедельник, 12.09.2022, 17:09 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 309
Репутация: 14 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, на данный момент нет
Но не исключаю что будут
Проверяю решение из предыдущего сообщения


Я думал, ты остроглазый лев, а ты слепая собака :-)
 
Ответить
Сообщение_Boroda_, на данный момент нет
Но не исключаю что будут
Проверяю решение из предыдущего сообщения

Автор - HoBU4OK
Дата добавления - 12.09.2022 в 17:09
прохожий2019 Дата: Понедельник, 12.09.2022, 21:30 | Сообщение № 11
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
Power Query)))


[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f=(x)=>List.Accumulate(Text.Split(x{0}," "),
                            [l={},t=""],
                            (s,c)=> if Text.Contains(c,",")
                    then [l=s[l]&{s[t]&c},t=""]
                    else [l=s[l],t=s[t]&c])[l],
    to = Table.FromList(Table.ToRows(from),f)
in
    to
[/vba]

или так
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f=(x)=>[a = {0}&List.Transform(List.RemoveLastN(List.PositionOf(Text.ToList(x{0}),",",Occurrence.All),1),(x)=>x+3),
            b = Splitter.SplitTextByPositions(a)(x{0}),
            c = List.Transform(b,(x)=>Number.From(Text.Remove(x," ")))][c],
    to = Table.FromList(Table.ToRows(from),f)
in
    to
[/vba]
К сообщению приложен файл: 8756.xlsx (17.6 Kb)


Сообщение отредактировал прохожий2019 - Понедельник, 12.09.2022, 22:23
 
Ответить
Сообщение
Power Query)))


[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f=(x)=>List.Accumulate(Text.Split(x{0}," "),
                            [l={},t=""],
                            (s,c)=> if Text.Contains(c,",")
                    then [l=s[l]&{s[t]&c},t=""]
                    else [l=s[l],t=s[t]&c])[l],
    to = Table.FromList(Table.ToRows(from),f)
in
    to
[/vba]

или так
[vba]
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    f=(x)=>[a = {0}&List.Transform(List.RemoveLastN(List.PositionOf(Text.ToList(x{0}),",",Occurrence.All),1),(x)=>x+3),
            b = Splitter.SplitTextByPositions(a)(x{0}),
            c = List.Transform(b,(x)=>Number.From(Text.Remove(x," ")))][c],
    to = Table.FromList(Table.ToRows(from),f)
in
    to
[/vba]

Автор - прохожий2019
Дата добавления - 12.09.2022 в 21:30
scriptapplications Дата: Пятница, 16.09.2022, 20:01 | Сообщение № 12
Группа: Проверенные
Ранг: Участник
Сообщений: 68
Репутация: 12 ±
Замечаний: 0% ±

HoBU4OK,
Удалите лишние пробелы с помощью формулы массива (ввод через CTRL+SHIFT+ENTER) :
Код
=СЦЕП(ЕСЛИ(ПСТР(A1;СТРОКА($1:$1000);1)<>" ";ПСТР(A1;СТРОКА($1:$1000);1);ЕСЛИОШИБКА(ЕСЛИ(ПСТР(A1;СТРОКА($1:$1000)-3;1)=",";ПСТР(A1;СТРОКА($1:$1000);1);"");"")))
 
Ответить
СообщениеHoBU4OK,
Удалите лишние пробелы с помощью формулы массива (ввод через CTRL+SHIFT+ENTER) :
Код
=СЦЕП(ЕСЛИ(ПСТР(A1;СТРОКА($1:$1000);1)<>" ";ПСТР(A1;СТРОКА($1:$1000);1);ЕСЛИОШИБКА(ЕСЛИ(ПСТР(A1;СТРОКА($1:$1000)-3;1)=",";ПСТР(A1;СТРОКА($1:$1000);1);"");"")))

Автор - scriptapplications
Дата добавления - 16.09.2022 в 20:01
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Привести к общему виду… лишние пробелы (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!