Страницы: 1
RSS
Выделение числа, стоящего справа от текста с пробелами
 
Необходимо формулой безошибочно получить стоящие справа от текста числа. Если бы не специфический формат чисел, было бы проще. Может нужно сначала отсечь справа 12 символов, а затем их превращать как-то в число? Тестировал интеллектуальное автозаполнение (Ctrl+E) - оно изредка ошибается. Подскажите, пожалуйста, выход!
 
Код
=--ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(B2;12);",";"");".";",")
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
так это какое-то чудо! спасибо огромное, Максим В.!
 
Цитата
sasch78 написал:
так это какое-то чудо!
нет, это желание научиться, годы потраченные на изучение и соотв. багаж знаний, приобретенный за это время (и процесс этот не прекращается)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, в моей бухгалтерской работе чудеса Excel очень выручают, но вникать в механизм этих чудес часто нет времени; поэтому я сотнями сохраняю такие механизмы, не особо вдаваясь в тонкости их работы; ну, а людям, помогающим нам лохам эти механизмы использовать, уважуха и низкий поклон!
 
на pq целая таблица получится со всеми данными
Код
let
    a = Table.SplitColumn(Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content], "Столбец1", Splitter.SplitTextByPositions({16, 21, 54, 56})),
    b = Table.TransformColumnTypes(a,{{"Столбец1.1", Int64.Type}, {"Столбец1.3", Int64.Type}, {"Столбец1.4", type number}}, "en-001")
in
    b
 
Антон, ту идиотскую таблицу в формате *txt, с которой мне "посчастливилось" иметь дело, вряд ли можно запихнуть в какие-то разумные рамки (в своем примере я привел лишь небольшой идеальный фрагмент этой таблицы); но вообще этот PQ заслуживает внимания - красота завораживающая! еще бы найти время с ним ознакомиться... большое спасибо за наводку!
 
Цитата
получить стоящие справа от текста числа
UDF
Код
Function iСумма(cell$)
 With CreateObject("VBScript.RegExp")
     .Global = True
     .Pattern = "[\d,]+\.\d+$"
     If .Test(cell) Then
       iСумма = Replace(Replace(.Execute(cell)(0), ",", ""), ".", ",")
     Else
       iСумма = ""
     End If
 End With
End Function
 
Kuzmich, спасибо, в хозяйстве все пригодится, сохраняю!
 
при разделителе целой и дробной части .
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(B2;",";"");" ";"</i><i>")&"</i></j>";"//i[last()]")
 
Тимофеев, получилось не число... даже не догоняю для чего это и как, но может кому въедет, спасибо!
Страницы: 1
Наверх