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

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

15 Август 2020, 19:55 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Часто задаваемые вопросы по LibreOffice и Apache OpenOffice.org
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Формат времени для беременных (недели:дни) - как реализовать?  (Прочитано 5310 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Dr_Lecter
Участник
**
Offline Offline

Пол: Мужской
Расположение: г.Нжневартовск (ХМАО-Югра)
Сообщений: 49


« Стартовое сообщение: 24 Октябрь 2014, 13:16 »

Суть проблемы:

Я врач, сейчас пытаюсь на основе Calc сделать шаблоны для работы с беременными с автоматическим вычислением сроков.
Для этого нужно представить числа в ячейках в формате недели:дни, т.е.
7 = 1 нед 0 дней
10 = 1 нед 3 дня
132 = 18 нед 6 дней

Условие - чтобы можно было вводить данные в ячейку в этом формате, при этом не важно чем отделять недели от дней при вводе.  

Просто таблицы для расчетов в медицине (центильные) изначально идут в этом формате. Я во вложении положил одну страничку из справочника. Таблиц таких -ну наверное листов на 35 - 40 наберется. И вводить все таблицы в Calc предварительно умножая на 7 и прибавляя дни это проблема.

Спасибо заранее!

* A30_Reference_Manual_E (перетянутый).pdf (45.01 Кб - загружено 16 раз.)
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 24 Октябрь 2014, 14:01 »

Какие-то вычисления с такими ячейками должны выполнятся? Если нет, если это только для красивой печати, то задача сводится к сложному форматированию - выдрать из ячейки одно или два кое-как введенных числа и аккуратно перезаписать, вставив между ними "w" и добавив "d" в конце.
Такого преобразования хватило бы даже для поиска нужных значений в тех таблицах листов на 35-40.
А вот если потом нужно с этими днями-неделями реальные вычисления проводить (например, вычислить интервал прихода мамочки на осмотр в днях или построить график роста плода за весь период наблюдения) - тогда нужно крепко подумать, в каком виде эти дни все-таки хранить...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Dr_Lecter
Участник
**
Offline Offline

Пол: Мужской
Расположение: г.Нжневартовск (ХМАО-Югра)
Сообщений: 49


« Ответ #2: 24 Октябрь 2014, 17:32 »

Нет нужно вычислять.
Т.е. я ввожу к примеру 7,4 - в ячейке появляется 7 нед 4 дн (или 7н4д). При этом фактически при переводе в формат Standard там должно быть число 53 (7*7+4), т.е. ввели мы именно 53.
Условно нужно реализовать отображение числа в 8-ричную системе исчисления.
Также при переводе обычной ячейки с числом 280 в новый формат там дожно появится 40 нед 0 дн
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #3: 24 Октябрь 2014, 18:29 »

Нет нужно вычислять.
Что именно нужно вычислять? В смысле - какие действия? Только сложение-вычитание и сравнение с какими-то диапазонами дат в таком же формате? Или что-то более сложное?
Т.е. я ввожу к примеру 7,4 - в ячейке появляется 7 нед 4 дн (или 7н4д).
Можно, конечно, и так. Но, как по мне, проще ввести 74 без всяких запятых. Просто всегда помнить, что одну цифру дня ввести нужно обязательно. Даже если она ноль. То есть доктор диктует "Двенадцать недель (ровно)", а акушерка тычет в кнопки 120, а не 12 (а то ведь получит 1w2d и не заметит). Кстати, о каких сроках обычно идёт речь? Есть какой-то минимальный срок, ниже которого вводить что-то нельзя? С максимумом понятно - "280 плюс-минус неизвестность"... А минимум?
Условно нужно реализовать отображение числа в 8-ричную системе исчисления.
Ну, это очень условно... Там получается "десятично-семеричная" - недели-то могут быть и с семеркой, и с восьмеркой, и с девяткой...
Также при переводе обычной ячейки с числом 280 в новый формат там дожно появится 40 нед 0 дн
Ну, преобразование уже введенных дней - это особый разговор. Сначала нужно все-таки разобраться со способом хранения значения: то ли это будет "хитроотформатированное хитрое число", то ли строка фиксированного формата. Много таких ячеек в одном шаблоне будет?
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

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


iMac, LibreOffice и Apache OpenOffice


« Ответ #4: 24 Октябрь 2014, 19:03 »

сейчас пытаюсь на основе Calc сделать шаблоны для работы с беременными с автоматическим вычислением сроков.
Для этого нужно представить числа в ячейках в формате недели:дни
Сделайте шаблон, в котором данные будут в формате 2w3d или2w3 и укажите в какие ячейки вводить данные, а в каких получить результат (в каком формате и по каким формулам), остальное сделаем мы. Так будет намного проще.
Записан

Dr_Lecter
Участник
**
Offline Offline

Пол: Мужской
Расположение: г.Нжневартовск (ХМАО-Югра)
Сообщений: 49


« Ответ #5: 24 Октябрь 2014, 19:59 »

Что именно нужно вычислять? В смысле - какие действия? Только сложение-вычитание и сравнение с какими-то диапазонами дат в таком же формате? Или что-то более сложное?

Там более сложное - там регрессия (аппроксимация? - не знаю мат. анализ но вроде так называется), ну еще кубические и квадратные уравнения.

Сделайте шаблон, в котором данные будут в формате 2w3d или2w3 и укажите в какие ячейки вводить данные, а в каких получить результат (в каком формате и по каким формулам), остальное сделаем мы. Так будет намного проще.

Спасибо большое всем за участие в моей проблеме!
Для всех - давайте чтобы не решать вопросы по одному я покажу шаблон, исходник, результат и попытаюсь объяснить что я хочу сделать, а вы всем обществом подскажите - может есть другой путь или это вообще нормально реализовать нельзя.
Беру небольшой тайм-аут до завтра для подготовки материала.
Записан
celler
Форумчанин
***
Offline Offline

Сообщений: 191


« Ответ #6: 28 Октябрь 2014, 20:37 »

Завтра прошло, Dr_Lecter, не получилось сделать шаблон? Мне не понятно, записи должны сами что ли преобразовываться в правильную форму?
А может всё разнести в два столбца - один для ввода данных, а во втором будут с помощью формул сами формироваться нужные значения для дальнейшей обработки. Только желательно, чтобы разнообразие всех форм ввода данных было ограничено. Например недели и дни разделять пробелом - тогда и вводить быстрее и формулы будут проще.
Вот набросал несколько возможных алгоритмов.

* ber.ods (37.59 Кб - загружено 10 раз.)
Записан
rami
Гуру
*******
Offline Offline

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


iMac, LibreOffice и Apache OpenOffice


« Ответ #7: 28 Октябрь 2014, 23:06 »

Завтра прошло, Dr_Lecter
У врачей "завтра" наступает не после полуночи, а после дежурств. Подождём.
Мне не понятно, записи должны сами что ли преобразовываться в правильную форму?
А может всё разнести в два столбца - один для ввода данных, а во втором будут с помощью формул сами формироваться нужные значения для дальнейшей обработки. Только желательно, чтобы разнообразие всех форм ввода данных было ограничено. Например недели и дни разделять пробелом - тогда и вводить быстрее и формулы будут проще.
Dr_Lecter уже писал об этом:
Там более сложное - там регрессия (аппроксимация? - не знаю мат. анализ но вроде так называется), ну еще кубические и квадратные уравнения.
Просто таблицы для расчетов в медицине (центильные) изначально идут в этом формате. Я во вложении положил одну страничку из справочника. Таблиц таких -ну наверное листов на 35 - 40 наберется. И вводить все таблицы в Calc предварительно умножая на 7 и прибавляя дни это проблема.
Данные из таблиц нужно копировать, а не переписывать, а формулы составлять с учётом оригинального формата(например, 27w2d)
В приложенном документе в зелёной рамке оригинальная таблица, а в красных рамках мои формулы(предпочтительны формулы из рамки справа).

* ber1.ods (42.43 Кб - загружено 11 раз.)
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #8: 29 Октябрь 2014, 10:23 »

предпочтительны формулы из рамки справа
Если формулу из D1:D7 совсем немного усложнить, то и обратное преобразование (для формата из зелёной и правой красной рамки) работает нормально
Код:
=LEFT(Q2;LEN(Q2)-3)*7+LEFT(RIGHT(Q2;2);1)
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

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


iMac, LibreOffice и Apache OpenOffice


« Ответ #9: 29 Октябрь 2014, 10:38 »

Если формулу из D1:D7 совсем немного усложнить
Что-то не заметил я ни какого усложнения Всё хорошо
Если доктор срочно не прийдёт, прийдётся открывать собственную клинику
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #10: 29 Октябрь 2014, 12:26 »

Ну да, согласен по обоим пунктам.
1. Не "усложнение", а поправка на один символ, связанная с наличием буквы "d" в записи срока
2. Клиника широчайшего профиля - всё, связанное с репродуктивной медициной. "Сроки я уже считать умею..." (с) "Джентельмены удачи", переврано по памяти  Смеющийся
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

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


iMac, LibreOffice и Apache OpenOffice


« Ответ #11: 29 Октябрь 2014, 14:09 »

1. Не "усложнение", а поправка на один символ, связанная с наличием буквы "d" в записи срока
Таблицу в зелёной рамке я скопировал из PDF файла ничего в ней не меняя (только добавил зелёную рамку), там после буквы "d" есть пробел, который в текстовых функциях учитывается как символ.
Самый главный вопрос: какой формат мы примем в качестве рабочего? Есть варианты:
1. "_w_"      это самый лёгкий для ручного ввода формат, для него подходят формулы из левой красной рамки
2. "_w_d"    твоя формула учитывает этот формат
3. "_w_d "   это формат исходных данных, формулы в столбце "P" это учитывают, а если в формулу =QUOTIENT(P2;7)&"w"&MOD(P2;7)&"d" из столбца "Q" добавить пробел после "d":
Код:
=QUOTIENT(P2;7)&"w"&MOD(P2;7)&"d "
то получится исходный формат (как в зелёной рамке). Офису всё равно, визуально не заметно, а если не будет массовой ручной забивки данных, то никто и не заметит.
И мы снова возвращаемся к главному вопросу нашей эпохи Смеющийся: какой формат мы примем в качестве рабочего Непонимающий
Записан

JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #12: 29 Октябрь 2014, 15:00 »

Как по мне, то второй вариант лучше всего.
Во-первых, данные из PDF'ов и сканов так или иначе желательно перетащить в нормальный ODF. Ну, чтобы VLOOKUP'ы на них натравливать и другие умные функции. И уже при перетаскивании позаботиться, чтобы лишних пробелов нигде не маячило, но формат "_w_d" был соблюдён.
Во-вторых, есть у меня такая подсознательная уверенность, что использоваться введенный срок будет именно для поиска, а вычисления и прочий мат. анализ будет строиться вокруг найденных и извлеченных значений.
Ну, и в третьих, выдрать количество дней из такой текстовой строки мы уже при случае сумеем...
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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