Как показать результат деления в ячейке в виде 2:1, 4:1, 1:4 и тд

Автор kompilainenn, 1 июля 2016, 12:47

0 Пользователи и 1 гость просматривают эту тему.

kompilainenn

Собственно сабж. есть три столбца, А В С, формула в С такая =А/В. Нужно чтобы результат в столбце С отображался в виде отношения 2:1, 10:1 и так далее. Числа в столбцах А и В могут быть только положительными и величиной до сотен миллионов
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Тебе только для отображения? Тогда как-то так
=INT(A1/GCD(A1;B1))&":"&INT(B1/GCD(A1;B1))
А если для дальнейших расчетов, то, наверное, никак
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Цитата: JohnSUN от  1 июля 2016, 11:01А если для дальнейших расчетов, то, наверное, никак
А вот так:

JohnSUN

Да я тоже о формате в первую очередь подумал, но подменить слэш на двоеточие не получилось
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

rami

Ну, так что нужно — числовой формат со слэшем или текстовый с двоеточием? В форматах двоеточие относится ко времени.

kompilainenn

Цитата: JohnSUN от  1 июля 2016, 11:01Тебе только для отображения?
да, только для отображения. Он будет округлять я так понимаю до ближайшего целого?, то есть варианта 4,5:1 не будет?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

kompilainenn

Цитата: rami от  1 июля 2016, 13:08
А вот так:
нет, дробь не пойдет, им надо именно четыре к одному (4:1)
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Цитата: kompilainenn от  1 июля 2016, 14:02
то есть варианта 4,5:1 не будет?
Будет, конечно! Но он будет выглядеть как 9:2
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

kompilainenn

Цитата: JohnSUN от  1 июля 2016, 12:33Будет, конечно! Но он будет выглядеть как 9:2
привести к единице меньшее из двух чисел можно? то есть, чтобы всегда с одной из сторон была 1?
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

#9
Можно. Округлять вниз или по стандартным правилам (до половины/от половины)?

(Попробуй в первоначальной формуле вместо GCD написать MIN)

PS. С округлением будет так
=ROUND(A1/MIN(A1;B1))&":"&ROUND(B1/MIN(A1;B1))
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

kompilainenn

#10
Цитата: JohnSUN от  1 июля 2016, 12:55=ROUND(A1/MIN(A1;B1))&":"&ROUND(B1/MIN(A1;B1))
чудесно! сенькью вери мач, только вот round разве не требует явно задать, до скольких знаков округлять?

=ROUND(A1/MIN(A1;B1);1)&":"&ROUND(B1/MIN(A1;B1);1) - в общем и целом меня устроило вот так. спасибо ещё раз
Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут

JohnSUN

Ну, с ROUND() всё просто - "Если количество опущено или равно нулю, то округление производится до ближайшего целого числа."

Еще раз прикинул возможности форматирования, нарыл такой вариант: результат формулы
=ROUND(MAX(A1;B1)/MIN(A1;B1))*SIGN(A1-B1)
форматируем пользовательским форматом с кодом формата 0":1";"1:"0;"1:1" (ух, лихо завернул! Классическое масло масляное тихо обтекает в сторонке)
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне