Таблица Google: формат ИМПОРТ XML значение - PullRequest
0 голосов
/ 25 апреля 2020

Я хочу отформатировать полученное от IMPORT значение XML в электронной таблице Google.

Я импортирую числа из таблицы, и некоторые из них записаны так:

5892,9

2001.44.00

Вместо этого:

5892,9

2001,44

Это вызывает проблему, когда я делаю суммы с результатами, так как он интерпретируется как текст, а не число. Он не работает просто для форматирования ячеек.

Как я могу либо сделать суммы с этими вычеркнутыми числами, как есть, либо отформатировать полученные данные до принятого значения нумерации c с одним десятичным знаком? Предпочтительно позже.

Вот импорт, который очищает таблицу:

=IMPORTXML(B58;"//*[@id='rrtable']/table/tbody/tr[3]")

И вот откуда он очищает его (B58): https://www.investing.com/equities/coresite-realty-corp-balance-sheet

РЕДАКТИРОВАТЬ 1: Ну, на данный момент я принял решение с = ЗАМЕНИТЬ очистку чисел в два этапа, сначала заменить "." с ",", а затем заменить ", 00" на "". Это не красиво и не компактно, но работает, я думаю ... Хотелось бы услышать более правильное решение!

РЕДАКТИРОВАТЬ 1: Думаю, мне удалось найти более компактное решение с упаковкой импорта xml в двух разных заменителях. В основном делает то же самое, что и выше "РЕДАКТИРОВАТЬ", но в той же ячейке.

1 Ответ

0 голосов
/ 27 апреля 2020

Я думаю, что ваше решение с SUBSTITUTE хорошо.

Я бы сделал то же регулярное выражение с использованием, но идея та же (A1 - это то, что вы получаете от IMPORXML):

=VALUE(REGEXREPLACE(A1; "^(\d+)(?:[.,](\d*).*)?"; "$1,$2\0"))

enter image description here

...