Десятичные числа в Google Таблицах, как убрать запятые и добавить ноль - PullRequest
0 голосов
/ 11 июля 2020

Следующая проблема. У меня есть десятичные числа в моих таблицах Google, которые я получаю с веб-сайта.

У чисел есть 3 цифры после десятичной точки или в них нет запятой. Мне нужны числа без запятой и добавление нуля после 1,2 => 1200 или 1,22 => 1220 и 2 должно быть 2.

Скажите, если число на веб-сайте выглядит так:

1,200
1,220
1,222
12,220
2

Я получаю данные через электронную таблицу Google по формуле = IMPORTDATA ("API_LINK")

Проблема состоит в том, что нули, которые я не хочу терять, автоматически удаляются с помощью = IMPORTDATA

Означает, что я скопировал это в таблицу следующим образом:

1,2
1,22
1,222
12,22
2

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

1,2 => 1200
1,22 => 1220
1,222 => 1222
12,22 => 12220
2 => 2

Итак, нормальные числа должны быть нормальными, а десятичные должны быть преобразованы.

Формула, которую я пробовал, но работает только для 1,222 => 1222. Другое выглядит так 1,2 => 43862 и 1,22 => 1,22 также 12,22 => 12,22.

=IFERROR(VALUE(SUBSTITUTE(A2;",";"."));VALUE(SUBSTITUTE(A2;".";",")))

Я пытался даже изменить настройки на листе, но не работает все. Было бы очень хорошо, если бы мне с этим помогли.

Ответы [ 2 ]

1 голос
/ 12 июля 2020

попробуйте:

=ARRAYFORMULA(SUBSTITUTE(TO_TEXT(IMPORTDATA("API_LINK")), ",", ))
1 голос
/ 12 июля 2020

Если при импорте удаляются конечные нули, это означает, что на вашем листе, скорее всего, находится текст, а не число.

всегда легче помочь, если вы предоставляете образец листа с полными разрешениями на редактирование. Однако, учитывая то, что я знаю из вашего сообщения, попробуйте следующее:

=IF(A2="","",VALUE(A2&IFERROR(REPT("0",3-(LEN(A2)-FIND(",",A2))))))

Это также будет работать как формула массива с небольшими изменениями (то есть, она может «решить» весь столбец с помощью одной формулы, а не перетаскивать формулу вниз). Например, если ваши необработанные данные были в A2: A, вы могли бы поместить следующую формулу массива в B2 (при условии, что столбец B полностью пуст под B2):

=ArrayFormula(IF(A2:A="","",VALUE(A2:A&IFERROR(REPT("0",3-(LEN(A2:A)-FIND(",",A2:A)))))))
...