У меня есть этот пример листов Google. со столбцом цифр
Я попытался использовать эту формулу, чтобы получить таблицу прогресса.
=ArrayFormula(REGEXEXTRACT(A2:A9, "\d{1,3}\.(\d*), \d{1,3}\.(.{5})"))
И при попытке получить 5 цифр после точки в первой группе захвата с помощью .{5} или \d{5} я получаю эту ошибку.
=ArrayFormula(REGEXEXTRACT(A2:A9, "\d{1,3}\.(.{5}), \d{1,3}\.(.{5})"))
Ошибка
Значение параметра 2 функции REGEXEXTRACT "\d{1,3}.(.{5}), \d{1,3}.(.{5})" не соответствует тексту значения параметра 1 функции REGEXEXTRACT "37.39850912456523, 176.84092312542114 ".
Чего мне не хватает, чтобы получить этот результат с REGEXEXTRACT?
И, наконец, этот окончательный результат.



Насколько я понимаю, RegexExtract возвращает соответствующий текст, если группа не определена, или первую группу, если она определена. Итак, я определил группу для первых пяти цифр и отбросил остальные
=RegexExtract(A1, "\d*\.(\d{1,6})")
=RegexExtract(A1, "\d*\.\d*, \d{1,3}\.(\d{1,5})\d*")
Функция split() будет автоматически приводить значения к числам, когда это возможно. Чтобы получить окончательный желаемый результат, который вы показываете, используйте round(), например:
=arrayformula( trunc( split(A2:A9, ", ", false, true), 6 ) )
Тогда используйте trunc(). Отредактировал ответ. Не будет никакой разницы с ограниченными примерными данными, которые вы опубликовали. Если вам нужно сохранить начальные нули, укажите это и покажите это в желаемых результатах.
есть вход с ведущим 007.39850912456523 его легко пропустить, и я не проверял результат для него, спасибо за примечание
Пожалуйста, укажите это в вопросе и покажите это в желаемых результатах.
они выглядят как координаты, поэтому их лучше ОБРЕЗАТЬ:
=INDEX(IFERROR(1/(1/TRUNC(SPLIT(A1:A, ", "), 6))))
если вы хотите, чтобы это повторялось, попробуйте:
=INDEX(IFERROR(SPLIT(REGEXREPLACE(A1:A, "(\d+.\d{6}).*(, \d+.\d{6}).*", "$1$2"), ",")))
=INDEX(IFNA(REGEXEXTRACT(A:A, "(\d+.\d{6}).+ (\d+.\d{6})")))
и умножьте на 1, если вам нужны значения
Привет @-- спасибо за ответ, 'round()' не подходит, потому что значение является буквальным, его можно только обрезать.