Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

4 Декабрь 2021, 07:39 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Изменение формата чисел в таблице Writer  (Прочитано 7722 раз)
0 Пользователей и 1 Гость смотрят эту тему.
rvi
Форумчанин
***
Offline Offline

Сообщений: 50


« Стартовое сообщение: 13 Апрель 2015, 15:19 »

Добрый день! Имеется частично заполненная таблица в документе Writer. Числа представлены в текстовом формате. Необходимо перевести числа в числовой формат.
Проделано:
1. Переформатирование имеющейся таблицы (Таблица — Числовой формат — Числовой — Standrd или «-1234,12»). Все числа приняли значение «0» или «0,00».
2. Выделение и копирование имеющейся таблицы в новую таблицу, отформатированную в числовом формате. Все числа копируются в текстовом формате.
3. Копирование в отдельности каждого числа имеющейся таблицы в новую таблицу, отформатированную в числовом формате. Большая трудоёмкость.
4. Ручное копирование данных через их набор на клавиатуре. Большая трудоёмкость.
5. Ведение таблицы в смешанной форме: старые данные в текстовом формате, новые данные в числовом формате. Пока нежелательно.
Вопрос: Есть ли ещё какие-либо способы перевода чисел из текстового формата в числовой?
ПК: Windows 7 домашняя расширенная, 64-bit, редактор LibreOffice 4.4.2.2
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 117


iMac, LibreOffice и Apache OpenOffice


« Ответ #1: 13 Апрель 2015, 15:54 »

А распознавание чисел и форматов у вас включено?


* Распознавание чисел и форматов.png (110.28 Кб, 889x403 - просмотрено 326 раз.)
Записан

rvi
Форумчанин
***
Offline Offline

Сообщений: 50


« Ответ #2: 13 Апрель 2015, 20:36 »

А распознавание чисел и форматов у вас включено?
Да, распознавание чисел и форматов в настройках LibreOffice Writer и LibreOffice Writer/Web включено


* Безымянный 1.jpg (120.72 Кб, 800x561 - просмотрено 155 раз.)
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 117


iMac, LibreOffice и Apache OpenOffice


« Ответ #3: 13 Апрель 2015, 22:26 »

Я уже начинаю думать что это может быть баг. У меня наличие или отсутствие "птичек" не влияет на распознавание чисел — цифры всегда записываются как текст, но при вычислениях распознаются как числа. Результат вычислений всегда числовой независимо от указанных настроек или форматов, если только не выставить текстовый формат перед вычислениями.

А в новом документе новая таблица как реагирует на ввод чисел и вычисления? Если неправильно, то выложите образец, посмотрим.

На снимке по левому краю выровнены числа в текстовом формате, а по правому результаты вычислений в числовом(я не менял ни форматы, ни выравнивание)


* Суммирование.png (12.34 Кб, 387x216 - просмотрено 43 раз.)
Записан

rvi
Форумчанин
***
Offline Offline

Сообщений: 50


« Ответ #4: 14 Апрель 2015, 16:09 »

У меня наличие или отсутствие "птичек" не влияет на распознавание чисел — цифры всегда записываются как текст, но при вычислениях распознаются как числа. Результат вычислений всегда числовой независимо от указанных настроек или форматов, если только не выставить текстовый формат перед вычислениями.А в новом документе новая таблица как реагирует на ввод чисел и вычисления? Если неправильно, то выложите образец, посмотрим.
Заполнение новой таблицы в новом документе стандартное: числа записываются как текст, результаты вычислений - как числа. Более того: данная проблема с вычислением суммы наблюдается в старой таблице, а также при копировании в другую таблицу данных двух и более ячеек в один приём. Если каждое число копировать в другую таблицу отдельно, то вычисление суммы осуществляется без проблем.
Отличие старой таблицы от новой:
1. Бланк старой таблицы создан 3 года назад в редакторе OpenOffice.
2. При создании бланк был предварительно отформатирован в формате «Текст».

* Таблицы платежей за 2015.odt (34.22 Кб - загружено 8 раз.)
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 117


iMac, LibreOffice и Apache OpenOffice


« Ответ #5: 14 Апрель 2015, 23:39 »

Вопрос: Есть ли ещё какие-либо способы перевода чисел из текстового формата в числовой?
Их есть у меня Крутой
Сделайте копию документа(на всякий случай) и выполните макрос:
Код:
Sub Main
t=ThisComponent.TextTables
For j=0 To t.Count-1
cn=t(j).CellNames
For i=0 To UBound(cn)
c=t(j).getCellByName(cn(i))
If c.Type=2 Then If Val(c.String)<>0 Then c.Value=CDbl(c.String)
Next
Next
End Sub
Все числа(в текстовом формате) во всех таблицах документа станут настоящими числовыми числами в числовом формате Смеющийся
Этот макрос будет работать в тех локалях, где разделитель дробной части запятая.
Сообщите как оно случилось.
Записан

rvi
Форумчанин
***
Offline Offline

Сообщений: 50


« Ответ #6: 15 Апрель 2015, 15:49 »

Сделайте копию документа(на всякий случай) и выполните макрос
Спасибо. С макросами ещё не работал, буду осваивать. Результат сообщу.
Записан
rvi
Форумчанин
***
Offline Offline

Сообщений: 50


« Ответ #7: 17 Апрель 2015, 19:48 »

Сделайте копию документа(на всякий случай) и выполните макрос
Добрый день, rami! Ваш макрос в моей таблице работает, все числа формата «Текст» переведены в формат «Standard». Но свободные ячейки таблицы, куда мне нужно занести результаты вычислений, остаются в формате «Текст». Поэтому результат всё равно записывается как «0».
Поскольку причиной проблемы является предварительное форматирование таблицы, я переделываю бланк таблицы без проведения предварительного форматирования. Но тут появляется первопричина проблемы: результаты вычислений записываются в формате «Standard» и некоторые из них, например, «1234,50» превращается в «1234,5», то есть ноль отбрасывается. Ситуация осложняется тем, что в таблице имеются две строки «Сумма»:
1. В одну записываются целые числа, то есть нужно применять формат «Стандарт».
2. Во вторую записываются числа с десятичной дробью, то есть нужно применять формат «1234,12».
Возможно ли решение в такой ситуации?
Записан
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 117


iMac, LibreOffice и Apache OpenOffice


« Ответ #8: 17 Апрель 2015, 22:01 »

Но свободные ячейки таблицы, куда мне нужно занести результаты вычислений, остаются в формате «Текст». Поэтому результат всё равно записывается как «0».
Макрос перезаписывает числа в числовой формат, но не затрагивает пустые ячейки и ячейки с текстом.
Ситуация осложняется тем, что в таблице имеются две строки «Сумма»:
1. В одну записываются целые числа, то есть нужно применять формат «Стандарт».
2. Во вторую записываются числа с десятичной дробью, то есть нужно применять формат «1234,12».
Для этого макрос не нужен. Достаточно применить нужный формат к числовым и пустым ячейкам.
1. Выделите все ячейки(в том числе пустые) которые должны иметь одинаковый формат и примените его.
2. Тоже самое для любого другого блока ячеек.
Если вдруг понадобиться примените макрос ещё раз.
« Последнее редактирование: 17 Апрель 2015, 22:05 от rami » Записан

rvi
Форумчанин
***
Offline Offline

Сообщений: 50


« Ответ #9: 19 Апрель 2015, 13:05 »

Для этого макрос не нужен. Достаточно применить нужный формат к числовым и пустым ячейкам.1. Выделите все ячейки(в том числе пустые) которые должны иметь одинаковый формат и примените его.2. Тоже самое для любого другого блока ячеек.Если вдруг понадобиться примените макрос ещё раз.
Большое спасибо
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!