Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пользовательский формат ячеек - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Пользовательский формат ячеек
naumov Дата: Вторник, 15.11.2016, 16:45 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Всем доброго времени суток!

При подсчете переработки часов появилась проблема:
Возможно ли сделать так, что бы при вводе числа в ячейку отображение выводилось так: целая часть результата деления на 8, пользовательская надпись(неизменяемая), остаток деления и опять пользовательская надпись(неизменяемая).
Например: указываю в ячейку "64". Отображается "8 ДДО 0 ДВО"
указываю "15", отображается "1 ДДО 7 ДВО"
указываю "-9", отображается "-1 ДДО 1 ДВО".

p.s. Использование формул (таких как СЦЕПИТЬ) вызывает нагромождение, приходится расчеты делать отдельно, а вывод информации отдельно, что и вызывает неудобства, так как ячейки между собой суммируются\вычитаются.

Заранее благодарен за любые советы!
 
Ответить
СообщениеВсем доброго времени суток!

При подсчете переработки часов появилась проблема:
Возможно ли сделать так, что бы при вводе числа в ячейку отображение выводилось так: целая часть результата деления на 8, пользовательская надпись(неизменяемая), остаток деления и опять пользовательская надпись(неизменяемая).
Например: указываю в ячейку "64". Отображается "8 ДДО 0 ДВО"
указываю "15", отображается "1 ДДО 7 ДВО"
указываю "-9", отображается "-1 ДДО 1 ДВО".

p.s. Использование формул (таких как СЦЕПИТЬ) вызывает нагромождение, приходится расчеты делать отдельно, а вывод информации отдельно, что и вызывает неудобства, так как ячейки между собой суммируются\вычитаются.

Заранее благодарен за любые советы!

Автор - naumov
Дата добавления - 15.11.2016 в 16:45
AVI Дата: Вторник, 15.11.2016, 19:08 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
naumov,
Вроде не сильно громоздкая
Код
=ОТБР(A1/8)&" ДДО "&ОСТАТ(ABS(A1);8)&" ДВО "


Сообщение отредактировал AVI - Вторник, 15.11.2016, 19:31
 
Ответить
Сообщениеnaumov,
Вроде не сильно громоздкая
Код
=ОТБР(A1/8)&" ДДО "&ОСТАТ(ABS(A1);8)&" ДВО "

Автор - AVI
Дата добавления - 15.11.2016 в 19:08
naumov Дата: Вторник, 15.11.2016, 19:29 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
AVI, Эту формулу я знал) но необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО".
Например как если в ячейку записать "10" и выставить формат ячейки Время, то отобразится "0:00:00".
 
Ответить
СообщениеAVI, Эту формулу я знал) но необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО".
Например как если в ячейку записать "10" и выставить формат ячейки Время, то отобразится "0:00:00".

Автор - naumov
Дата добавления - 15.11.2016 в 19:29
AVI Дата: Вторник, 15.11.2016, 19:37 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 523
Репутация: 17 ±
Замечаний: 0% ±

Excel 2016
naumov, ах, не прочитал вопрос внимательно.
Что-то мне подсказывает, что такие сложные расчеты формат делать не умеет...
 
Ответить
Сообщениеnaumov, ах, не прочитал вопрос внимательно.
Что-то мне подсказывает, что такие сложные расчеты формат делать не умеет...

Автор - AVI
Дата добавления - 15.11.2016 в 19:37
Wasilich Дата: Среда, 16.11.2016, 00:03 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО".
Вы хотите с помощью пользовательского формата произвести еще и вычисления? Разделить на 8 и выделить остаток? Ну я лично не знаю о таких возможностях пользовательского форматирования.
Такого вида отображение можно сделать с помощью макроса. А дальше что вы намереваетесь с таким отображением делать?
 
Ответить
Сообщение
необходимо сделать так, что бы когда я писал в ячейци А1 число, например 15, в этой же ячейки отображалось "1 ДДО 7 ДВО".
Вы хотите с помощью пользовательского формата произвести еще и вычисления? Разделить на 8 и выделить остаток? Ну я лично не знаю о таких возможностях пользовательского форматирования.
Такого вида отображение можно сделать с помощью макроса. А дальше что вы намереваетесь с таким отображением делать?

Автор - Wasilich
Дата добавления - 16.11.2016 в 00:03
naumov Дата: Среда, 16.11.2016, 06:49 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Wasilich, да, совершенно верно, хотел произвести вычисления (если это возможно).
Такого вида отображение для вывода (печать, отображение на экране) не удобно для подсчетов.
Но вы ответили более чем на мой вопрос, который я не так конкретно задал как ваш ответ :)
Пользовательский формат ячейки не будет производить вычисления.
Спасибо большое Wasilich и AVI за отзывчивость!)

p.s. Уже думал перевести число в восьмиричную систему счисления, пробовал, ни к чему хорошему не пришел)
 
Ответить
СообщениеWasilich, да, совершенно верно, хотел произвести вычисления (если это возможно).
Такого вида отображение для вывода (печать, отображение на экране) не удобно для подсчетов.
Но вы ответили более чем на мой вопрос, который я не так конкретно задал как ваш ответ :)
Пользовательский формат ячейки не будет производить вычисления.
Спасибо большое Wasilich и AVI за отзывчивость!)

p.s. Уже думал перевести число в восьмиричную систему счисления, пробовал, ни к чему хорошему не пришел)

Автор - naumov
Дата добавления - 16.11.2016 в 06:49
_Boroda_ Дата: Среда, 16.11.2016, 09:57 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16888
Репутация: 6611 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Можно макросом. Например, вот такой код в модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d_ As Range, c_ As Range
    Set d_ = Intersect(Target, Range("A1:D20"))
    If d_ Is Nothing Then Exit Sub
    For Each c_ In d_
        If c_ <> "" Then
            If IsNumeric(c_) Then
                gg = Fix(c_ / 8)
                ggq = c_ Mod 8
                f_ = Fix(Abs(c_) / 8) & " ДДО " & Abs(c_) Mod 8 & " ДВО"
                dd = Int(c_ / 8)
                c_.NumberFormat = """" & f_ & """"
            End If
        End If
    Next c_
End Sub
[/vba]
К сообщению приложен файл: 186786786.xlsm (18.2 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеМожно макросом. Например, вот такой код в модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim d_ As Range, c_ As Range
    Set d_ = Intersect(Target, Range("A1:D20"))
    If d_ Is Nothing Then Exit Sub
    For Each c_ In d_
        If c_ <> "" Then
            If IsNumeric(c_) Then
                gg = Fix(c_ / 8)
                ggq = c_ Mod 8
                f_ = Fix(Abs(c_) / 8) & " ДДО " & Abs(c_) Mod 8 & " ДВО"
                dd = Int(c_ / 8)
                c_.NumberFormat = """" & f_ & """"
            End If
        End If
    Next c_
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 16.11.2016 в 09:57
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!