powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вычитание ячеек с датами
23 сообщений из 23, страница 1 из 1
Вычитание ячеек с датами
    #36645364
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Необходимо сделать результат вычитания 2-х ячеек с датами - т.е. получить длительность
Если в первой ячейке время начала во второй окончания (чего-либо)
Формат даты в первых двух ячейках ставлю ДД.ММ.ГГГГ чч:мм:сс
В результирующей формат следующий - ММ ДД чч:мм:сс
1) как сделать чтобы в результирующей не показвал какой месяц идет, а только сколько прошло месяцев (т.е. результат уменшить на 1)
2) можно ли сделать чтобы показывал без месяца все в днях (т.е. 2 месяца 10 дней = показывает 71 день)
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645377
03
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
03
Гость
ALARMus,

Могет перейти в формат числового значения даты :)
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645383
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMus,

Пример
Код: plaintext
x = DateDiff("d", DateValue("25.12.09"), Now)
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645430
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так я в нем и делаю.
Например,
" 20.05.2010 09:00:00 " - " 15.05.2010 08:00:00 " дает результат " 01 05 01:00:00 "
А ожидалось " 00 05 01:00:00 "

" 16.07.2010 08:00:00 " - " 15.05.2010 8:00:00 " дает результат " 03 02 00:00:00"

А ожидалось " 02 01 00:00:00 "
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645453
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMus,
2
Если все вычисления - на листе, поставьте Формат ячеек...->Число->(все форматы)-тип: Д
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645466
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
или
1) М
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645479
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

1) Мне надо получить в таком формате ММ ДД чч:мм:сс (что я и установил)
2) расчитывается не правильно (точней не так как необходимо)
Так как даже посталвю М то для второго примера покажет 3 (месяца), а не 2
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645510
03
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
03
Гость
ALARMus,
Типа:
=ФИКСИРОВАННЫЙ(МЕСЯЦ(C1)-МЕСЯЦ(A1);0)
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645516
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMus, а количество дней (второй подвопрос) тоже в формате ММ ДД чч:мм:сс ? - т.е.
разница в 71 день и 14 часов 1 мин, 2 сек должна отображаться как "00 71 14:01:02" ?
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645519
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
03,

Просто Excel считает если отнять от 2 числа 8:00 1 число 8:00
То по его логике разница по числам 1 (2-1), но еще и между часами разница 24 часа, а это тоже 1 сутки и показывает разницу не 1 день 0 часов, а 2 дня и 0 часов.
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645530
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vlth,

Да не плохо бы, чтобы месяца показывались в днях (т.е. 71 день, а не 2 месяца и 10 дней)
Но я начал с малого хоть с месяцами бы, но реальные цифры .

Формат результирующей ячейки нужен такой " ММ ДД чч:мм:сс " (в идеале " ДД чч:мм:сс ", где дни сколько бы их не было)
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645563
03
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
03
Гость
ALARMus,

Код: plaintext
Могет перейти в формат числового значения даты :)


Обычными операторами или VB .... И тогда можно крутить как хочешь
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645696
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMus, попробуйте эту функцию:
Код: plaintext
1.
2.
3.
4.
5.
Function DD(d1 As Date, d2 As Date) As String
Dim Days As Integer
Application.Volatile True
Days = DateDiff("d", d1, d2)
DD = Days & " " & Format(d2 - d1 - Days, "hh:nn:ss")
End Function
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645749
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vlth,
данная формула считает неправильно.( см. файл). Если нужно только отражение в ячейке и в дальнейших расчетах не учавствует, то можно так:
=ЦЕЛОЕ(A1-A2)&" "&ТЕКСТ(ОСТАТ(A1-A2;1);"чч:мм")
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645783
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DV68,

Супер, спасибо.

А если с этими данными оперировать потом понадобиться - вычислять разницу между им подобными форматами вывода ?
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645802
Фотография ALARMus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Верней потребуется складывать несколько ячеек в таких форматах "ДД чч:мм:сс" - чтобы получать сумму общую
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645861
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ALARMus,

Данная формула только для визуализации. В ячейке находится текст. Если секунды всегда по нулям, можно использовать формат дробный. Тогда будет выглядеть примерно так:
61 23/24. Тоже в общем то наглядно. См. файл:
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645864
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл забыл:)
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645866
DV68
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DV68...Если секунды всегда по нулям
Секунды и минуты по нулям
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36645901
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DV68vlth,
данная формула считает неправильно.
Тогда попробую её исправить ))
Код: plaintext
1.
2.
3.
4.
5.
Function DD(d1 As Date, d2 As Date) As String
Dim Days As Integer
Application.Volatile True
Days = DateDiff("h", d1, d2) \  24 
DD = Days & " " & Format(CDbl(d1) - CDbl(d2) - Days, "hh:nn:ss")
End Function
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36646179
Фотография vlth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMusВерней потребуется складывать несколько ячеек в таких форматах "ДД чч:мм:сс" - чтобы получать сумму общую
В первом приближении:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Function SumDDFromString(rng As Range) As String
Dim d As Double, dt As Long
Dim h As Long, m As Long, s As Long
Dim aTMP, aT
Dim oCell As Range
Application.Volatile

For Each oCell In rng
    If oCell Like "*# ##:##:##" Then
        aTMP = Split(oCell)
        d = d + CInt(aTMP( 0 ))
        aT = Split(aTMP( 1 ), ":")
        h = h + CInt(aT( 0 )): n = n + CInt(aT( 1 )): s = s + CInt(aT( 2 ))
    End If
Next
d = (d *  24  *  3600  + h *  3600  + n *  60  + s) /  24  /  3600 
dt = DateDiff("s",  0 , d - Fix(d))
h = dt \  3600 : m = (dt - h *  3600 ) \  60 : s = dt - h *  3600  - m *  60 
SumDDFromString = Fix(d) & " " & Format(h, "00") & ":" & Format(m, "00") & ":" & Format(s, "00")
End Function
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36647418
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно подойдет все в часах?
формат ячейки - [ч]:мм:сс
Если в днях, то пользуйтесь обычным числовым форматом или лробным.
В месяцах вообще нет смысла, т.к. всегда будет считать вам месяцы от 01.01.1900 по порядку. И не понятно сколько в этих месяцах дней, а учитывая тот факт что у Экселя 1900 год високосный :), так это вообще песня получается - голову себе свернешь пока поймешь что значит 3 мес 1 день
...
Рейтинг: 0 / 0
Вычитание ячеек с датами
    #36648582
Фотография Stepler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALARMus,

Наверна самое короткое, но нада помудрить :)

=РАЗНДАТ(B2; A2;"d")
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Вычитание ячеек с датами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]