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

Вход

Регистрация

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

 

= Мир MS Excel/Операции с видео таймкодом - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Операции с видео таймкодом
kaleidoscopetv Дата: Пятница, 23.12.2016, 11:41 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Ищу решение, позволяющее складывать и вычитать таймкоды, записанные в стандартном формате hh:mm:ss:ff , где ff - количество кадров в секунду - 24 или 25. Таймкоды в таблице в виде столбцов. Задача совершенно точно имеет решение, но я в нем не смог разобраться. http://www.excelforum.com/excel-g....la.html
Проверку правильности работы формулы можно произвести с помощью http://www.michaelcinquin.com/tools/timecode_keykode
Я работаю на Маке, но, по-видимому, формула и от винды должны подходить.
Я специалист в кино, а не в программировании, поэтому оптимальным была бы помощь в виде файла excel, содержащего эти формулы (макросы?)
Спасибо
 
Ответить
СообщениеИщу решение, позволяющее складывать и вычитать таймкоды, записанные в стандартном формате hh:mm:ss:ff , где ff - количество кадров в секунду - 24 или 25. Таймкоды в таблице в виде столбцов. Задача совершенно точно имеет решение, но я в нем не смог разобраться. http://www.excelforum.com/excel-g....la.html
Проверку правильности работы формулы можно произвести с помощью http://www.michaelcinquin.com/tools/timecode_keykode
Я работаю на Маке, но, по-видимому, формула и от винды должны подходить.
Я специалист в кино, а не в программировании, поэтому оптимальным была бы помощь в виде файла excel, содержащего эти формулы (макросы?)
Спасибо

Автор - kaleidoscopetv
Дата добавления - 23.12.2016 в 11:41
китин Дата: Пятница, 23.12.2016, 11:45 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7030
Репутация: 1079 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Цитата kaleidoscopetv, 23.12.2016 в 11:41, в сообщении № 1 ()
оптимальным была бы помощь в виде файла excel,

а самому приложить файл с примером религия не позволяет?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
Цитата kaleidoscopetv, 23.12.2016 в 11:41, в сообщении № 1 ()
оптимальным была бы помощь в виде файла excel,

а самому приложить файл с примером религия не позволяет?

Автор - китин
Дата добавления - 23.12.2016 в 11:45
dim34rus Дата: Пятница, 23.12.2016, 12:33 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Сложение
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"0"":""00"":""00"))+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>25;ВРЕМЗНАЧ("0:00:01");0)+ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)+ОСТАТ(B3;100)-ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>25;25;0)


Вычитание
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"0"":""00"":""00"))-ЕСЛИ(ОСТАТ(B2;100)-ОСТАТ(B3;100)<1;ВРЕМЗНАЧ("0:00:01");0)-ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)-ОСТАТ(B3;100)+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)<25;25;0)


Формат ячеек 0":"00":"00":"00
К сообщению приложен файл: 9515623.xlsx (54.0 Kb)


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327


Сообщение отредактировал dim34rus - Пятница, 23.12.2016, 12:35
 
Ответить
СообщениеСложение
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"0"":""00"":""00"))+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>25;ВРЕМЗНАЧ("0:00:01");0)+ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)+ОСТАТ(B3;100)-ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>25;25;0)


Вычитание
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"0"":""00"":""00"))-ЕСЛИ(ОСТАТ(B2;100)-ОСТАТ(B3;100)<1;ВРЕМЗНАЧ("0:00:01");0)-ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)-ОСТАТ(B3;100)+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)<25;25;0)


Формат ячеек 0":"00":"00":"00

Автор - dim34rus
Дата добавления - 23.12.2016 в 12:33
kaleidoscopetv Дата: Пятница, 23.12.2016, 18:01 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Благодарю за участие. Но пока как-то кривовато вышло:

Старт 1:00:00:00
кусок 0:00:01:11
Плюс 1:00:01:11
Минус 0:59:57:89

И, все-таки, формат должен быть 00:00:00:00

Пример таблицы:
TC in TC out Duration TC in Duration TC out
A B C=B-A N M P=N+M

А что в формуле надо изменить при 24 кадрах\секунду?
 
Ответить
СообщениеБлагодарю за участие. Но пока как-то кривовато вышло:

Старт 1:00:00:00
кусок 0:00:01:11
Плюс 1:00:01:11
Минус 0:59:57:89

И, все-таки, формат должен быть 00:00:00:00

Пример таблицы:
TC in TC out Duration TC in Duration TC out
A B C=B-A N M P=N+M

А что в формуле надо изменить при 24 кадрах\секунду?

Автор - kaleidoscopetv
Дата добавления - 23.12.2016 в 18:01
dim34rus Дата: Пятница, 23.12.2016, 23:57 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Sorry, один минус проглядел.

С вариантом на 24/25 и т.д. кадров.
сложение
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1;ВРЕМЗНАЧ("0:00:01");0)+ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)+ОСТАТ(B3;100)-ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1;E1;0)


вычитание
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))-ЕСЛИ(ОСТАТ(B2;100)-ОСТАТ(B3;100)<1;ВРЕМЗНАЧ("0:00:01");0)-ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)-ОСТАТ(B3;100)+ЕСЛИ((ОСТАТ(B2;100)-ОСТАТ(B3;100))<1;E1;0)
К сообщению приложен файл: 0510990.xlsx (10.4 Kb)


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327


Сообщение отредактировал dim34rus - Пятница, 23.12.2016, 23:59
 
Ответить
СообщениеSorry, один минус проглядел.

С вариантом на 24/25 и т.д. кадров.
сложение
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1;ВРЕМЗНАЧ("0:00:01");0)+ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)+ОСТАТ(B3;100)-ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1;E1;0)


вычитание
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))-ЕСЛИ(ОСТАТ(B2;100)-ОСТАТ(B3;100)<1;ВРЕМЗНАЧ("0:00:01");0)-ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)-ОСТАТ(B3;100)+ЕСЛИ((ОСТАТ(B2;100)-ОСТАТ(B3;100))<1;E1;0)

Автор - dim34rus
Дата добавления - 23.12.2016 в 23:57
kaleidoscopetv Дата: Суббота, 24.12.2016, 00:22 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Победа близка!
Важный момент - 25 кадров (и 24 в другом варианте) - это 1 секунда, то есть не может быть таймкод 00:00:00:25 - это должен быть 00:00:01:00

В Вашем файле
Кадров 25
Старт 10:00:00:24
кусок 00:00:01:01
Плюс 10:00:01:25 в этом примере должно быть число 10:00:02:00
Минус 09:59:59:23

я поэтому и дал ссылку на онлайн калькулятор для проверки
http://www.michaelcinquin.com/tools/timecode_keykode
 
Ответить
СообщениеПобеда близка!
Важный момент - 25 кадров (и 24 в другом варианте) - это 1 секунда, то есть не может быть таймкод 00:00:00:25 - это должен быть 00:00:01:00

В Вашем файле
Кадров 25
Старт 10:00:00:24
кусок 00:00:01:01
Плюс 10:00:01:25 в этом примере должно быть число 10:00:02:00
Минус 09:59:59:23

я поэтому и дал ссылку на онлайн калькулятор для проверки
http://www.michaelcinquin.com/tools/timecode_keykode

Автор - kaleidoscopetv
Дата добавления - 24.12.2016 в 00:22
dim34rus Дата: Суббота, 24.12.2016, 00:44 | Сообщение № 7
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Плюс
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1-1;ВРЕМЗНАЧ("0:00:01");0)+ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)+ОСТАТ(B3;100)-ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1-1;E1;0)


Минус
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))-ЕСЛИ(ОСТАТ(B2;100)-ОСТАТ(B3;100)<0;ВРЕМЗНАЧ("0:00:01");0)-ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)-ОСТАТ(B3;100)+ЕСЛИ((ОСТАТ(B2;100)-ОСТАТ(B3;100))<0;E1;0)


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

Смотрите такой вариант:
К сообщению приложен файл: 2645693.xlsx (10.5 Kb)


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327
 
Ответить
СообщениеПлюс
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))+ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1-1;ВРЕМЗНАЧ("0:00:01");0)+ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)+ОСТАТ(B3;100)-ЕСЛИ(ОСТАТ(B2;100)+ОСТАТ(B3;100)>E1-1;E1;0)


Минус
Код
=ТЕКСТ(ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B2/100);"#0"":""00"":""00"))-ЕСЛИ(ОСТАТ(B2;100)-ОСТАТ(B3;100)<0;ВРЕМЗНАЧ("0:00:01");0)-ВРЕМЗНАЧ(ТЕКСТ(ЦЕЛОЕ(B3/100);"#0"":""00"":""00"));"чммсс")*100+ОСТАТ(B2;100)-ОСТАТ(B3;100)+ЕСЛИ((ОСТАТ(B2;100)-ОСТАТ(B3;100))<0;E1;0)


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

Смотрите такой вариант:

Автор - dim34rus
Дата добавления - 24.12.2016 в 00:44
kaleidoscopetv Дата: Суббота, 24.12.2016, 00:46 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
начал дальше пробовать - не работает эта формула, к сожалению....
Кадров 25
Старт 10:00:00:00 10:00:00:16 10:00:00:11 10:00:00:16 10:00:00:21
кусок 00:00:01:11 00:00:02:24 00:48:53:21 00:00:01:14 00:00:01:11
Плюс 10:00:01:11 10:00:03:40 10:48:54:32 10:00:02:30 10:00:02:32
Минус 09:59:58:14 09:59:56:92 09:11:05:90 09:59:59:02 09:59:59:10

Может быть, посмотрите ссылку
http://www.excelforum.com/excel-g....la.html
там, как я понял, написан макрос, и он, как утверждается, работает, просто я не смог разобраться, как это правильно внедрить в файл
 
Ответить
Сообщениеначал дальше пробовать - не работает эта формула, к сожалению....
Кадров 25
Старт 10:00:00:00 10:00:00:16 10:00:00:11 10:00:00:16 10:00:00:21
кусок 00:00:01:11 00:00:02:24 00:48:53:21 00:00:01:14 00:00:01:11
Плюс 10:00:01:11 10:00:03:40 10:48:54:32 10:00:02:30 10:00:02:32
Минус 09:59:58:14 09:59:56:92 09:11:05:90 09:59:59:02 09:59:59:10

Может быть, посмотрите ссылку
http://www.excelforum.com/excel-g....la.html
там, как я понял, написан макрос, и он, как утверждается, работает, просто я не смог разобраться, как это правильно внедрить в файл

Автор - kaleidoscopetv
Дата добавления - 24.12.2016 в 00:46
kaleidoscopetv Дата: Суббота, 24.12.2016, 00:47 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
сейчас пришлю подробнее
 
Ответить
Сообщениесейчас пришлю подробнее

Автор - kaleidoscopetv
Дата добавления - 24.12.2016 в 00:47
dim34rus Дата: Суббота, 24.12.2016, 00:59 | Сообщение № 10
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013




Остальные примеры тоже прошли проверку.


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327
 
Ответить
Сообщение



Остальные примеры тоже прошли проверку.

Автор - dim34rus
Дата добавления - 24.12.2016 в 00:59
kaleidoscopetv Дата: Суббота, 24.12.2016, 01:16 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Извините, что отправил Вас на сторонний ресурс. Я думал, это будет Вам понятнее, чем мои объяснения. В приложении - файл, который мне требуется просчитывать, ниже советы с английского форума. Но я не понимаю, как этим советом воспользоваться

It should now give you the total time Difference includiing the FF Bits to base 24.
To insert function, Right click Sheet Tab, Select "View Code", From toobar select "Insert", " Module", New Windopw appears,Paste entire code in VB Window.

[vba]
Код
Function FFa(En As String, St As String) As String
Dim oEn As Single, oSt As Single, e1 As Single, e2 As Single
Dim Ans As String, AllAns As String, T2 As String

Const AddTim = 0.0000115741
Const DivTim = 2073600

oSt = Format(Left(St, 8), "General Number")
e1 = Right(St, 2) / DivTim
oEn = Format(Left(En, 8), "General Number")
e2 = Right(En, 2) / DivTim

If e1 > e2 Then
oSt = oSt + AddTim
End If

Ans = Format((oEn) - (oSt), "hh:mm:ss")
AllAns = Round(((oEn + e2) - (oSt + e1)) * DivTim) / 24
T2 = Round((AllAns - 1 * Int(AllAns / 1)) * 24)

If T2 < 10 Then T2 = "0" & T2
FFa = Ans & ":" & T2

End Function
[/vba]
К сообщению приложен файл: TC-test.xlsx (11.1 Kb)


Сообщение отредактировал Manyasha - Воскресенье, 25.12.2016, 12:05
 
Ответить
СообщениеИзвините, что отправил Вас на сторонний ресурс. Я думал, это будет Вам понятнее, чем мои объяснения. В приложении - файл, который мне требуется просчитывать, ниже советы с английского форума. Но я не понимаю, как этим советом воспользоваться

It should now give you the total time Difference includiing the FF Bits to base 24.
To insert function, Right click Sheet Tab, Select "View Code", From toobar select "Insert", " Module", New Windopw appears,Paste entire code in VB Window.

[vba]
Код
Function FFa(En As String, St As String) As String
Dim oEn As Single, oSt As Single, e1 As Single, e2 As Single
Dim Ans As String, AllAns As String, T2 As String

Const AddTim = 0.0000115741
Const DivTim = 2073600

oSt = Format(Left(St, 8), "General Number")
e1 = Right(St, 2) / DivTim
oEn = Format(Left(En, 8), "General Number")
e2 = Right(En, 2) / DivTim

If e1 > e2 Then
oSt = oSt + AddTim
End If

Ans = Format((oEn) - (oSt), "hh:mm:ss")
AllAns = Round(((oEn + e2) - (oSt + e1)) * DivTim) / 24
T2 = Round((AllAns - 1 * Int(AllAns / 1)) * 24)

If T2 < 10 Then T2 = "0" & T2
FFa = Ans & ":" & T2

End Function
[/vba]

Автор - kaleidoscopetv
Дата добавления - 24.12.2016 в 01:16
kaleidoscopetv Дата: Суббота, 24.12.2016, 01:31 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Действительно, Ваша формула работает, когда я вручную ввожу данные. Наверное, я как-то неправильно "скопировал" формулу - я ее просто растянул по горизонтали в соседние ячейки. Имена ячеек исходных данных в ней поменялись и я думал, что так она и должна работать. А результаты оказались неправильные...
У меня файл с вертикальными колонками (по 1000 строк) исходных данных и значений (как в приложенном) А как правильно "размножить" Вашу формулу в ячейки значений по вертикали?
 
Ответить
СообщениеДействительно, Ваша формула работает, когда я вручную ввожу данные. Наверное, я как-то неправильно "скопировал" формулу - я ее просто растянул по горизонтали в соседние ячейки. Имена ячеек исходных данных в ней поменялись и я думал, что так она и должна работать. А результаты оказались неправильные...
У меня файл с вертикальными колонками (по 1000 строк) исходных данных и значений (как в приложенном) А как правильно "размножить" Вашу формулу в ячейки значений по вертикали?

Автор - kaleidoscopetv
Дата добавления - 24.12.2016 в 01:31
dim34rus Дата: Суббота, 24.12.2016, 01:39 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Тоже самое макросом
[vba]
Код
Private Function SetTime(Sec)
  Mytime = Int(Sec / 3600) * 10000
  Sec = Sec Mod 3600
  Mytime = Mytime + Int(Sec / 60) * 100
  Sec = Sec Mod 60
  Mytime = Mytime + Sec
  
  SetTime = Mytime
End Function

Private Function GetTimeInSec(Mytime)
   Sec = Mytime Mod 100
   Mytime = Int(Mytime / 100)
   Sec = Sec + (Mytime Mod 100) * 60 'Минуты
   Mytime = Int(Mytime / 100)
   Sec = Sec + (Mytime Mod 100) * 3600 'Часы
   
   GetTimeInSec = Sec
End Function

Sub Тайминг()
  
  SetKadr = ActiveSheet.Cells(10, 3).Value
  Time1 = ActiveSheet.Cells(11, 3).Value
  Time2 = ActiveSheet.Cells(12, 3).Value
  
  Kadr1 = Time1 Mod 100
  Kadr2 = Time2 Mod 100
  
  TimeSec1 = GetTimeInSec(Int(Time1 / 100))
  TimeSec2 = GetTimeInSec(Int(Time2 / 100))
  
  'Плюс
  If (Kadr1 + Kadr2) >= SetKadr Then
    Plus = TimeSec1 + TimeSec2 + 1
    KadrPl = Kadr1 + Kadr2 - SetKadr
  Else
    Plus = TimeSec1 + TimeSec2
    KadrPl = Kadr1 + Kadr2
  End If
  
  Time1 = SetTime(Plus)
  ActiveSheet.Cells(13, 3).Value = Time1 * 100 + KadrPl
  
  'Минус
  If (Kadr1 - Kadr2) < 0 Then
    Plus = TimeSec1 - TimeSec2 - 1
    Kadr1 = Kadr1 - Kadr2 + SetKadr
  Else
    Plus = TimeSec1 - TimeSec2
    Kadr1 = Kadr1 - Kadr2
  End If
  
  Time1 = SetTime(Plus)
  ActiveSheet.Cells(14, 3).Value = Time1 * 100 + Kadr1
  
End Sub
[/vba]
К сообщению приложен файл: 9515623.xlsm (21.2 Kb)


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327


Сообщение отредактировал dim34rus - Суббота, 24.12.2016, 01:47
 
Ответить
СообщениеТоже самое макросом
[vba]
Код
Private Function SetTime(Sec)
  Mytime = Int(Sec / 3600) * 10000
  Sec = Sec Mod 3600
  Mytime = Mytime + Int(Sec / 60) * 100
  Sec = Sec Mod 60
  Mytime = Mytime + Sec
  
  SetTime = Mytime
End Function

Private Function GetTimeInSec(Mytime)
   Sec = Mytime Mod 100
   Mytime = Int(Mytime / 100)
   Sec = Sec + (Mytime Mod 100) * 60 'Минуты
   Mytime = Int(Mytime / 100)
   Sec = Sec + (Mytime Mod 100) * 3600 'Часы
   
   GetTimeInSec = Sec
End Function

Sub Тайминг()
  
  SetKadr = ActiveSheet.Cells(10, 3).Value
  Time1 = ActiveSheet.Cells(11, 3).Value
  Time2 = ActiveSheet.Cells(12, 3).Value
  
  Kadr1 = Time1 Mod 100
  Kadr2 = Time2 Mod 100
  
  TimeSec1 = GetTimeInSec(Int(Time1 / 100))
  TimeSec2 = GetTimeInSec(Int(Time2 / 100))
  
  'Плюс
  If (Kadr1 + Kadr2) >= SetKadr Then
    Plus = TimeSec1 + TimeSec2 + 1
    KadrPl = Kadr1 + Kadr2 - SetKadr
  Else
    Plus = TimeSec1 + TimeSec2
    KadrPl = Kadr1 + Kadr2
  End If
  
  Time1 = SetTime(Plus)
  ActiveSheet.Cells(13, 3).Value = Time1 * 100 + KadrPl
  
  'Минус
  If (Kadr1 - Kadr2) < 0 Then
    Plus = TimeSec1 - TimeSec2 - 1
    Kadr1 = Kadr1 - Kadr2 + SetKadr
  Else
    Plus = TimeSec1 - TimeSec2
    Kadr1 = Kadr1 - Kadr2
  End If
  
  Time1 = SetTime(Plus)
  ActiveSheet.Cells(14, 3).Value = Time1 * 100 + Kadr1
  
End Sub
[/vba]

Автор - dim34rus
Дата добавления - 24.12.2016 в 01:39
dim34rus Дата: Суббота, 24.12.2016, 01:43 | Сообщение № 14
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Цитата kaleidoscopetv, 24.12.2016 в 01:31, в сообщении № 12 ()
А как правильно "размножить" Вашу формулу

Дайте кусок вашего файла (где какие колонки), проставлю абсолютные ссылки

Если совсем по "деревянному" разверните все значимые и вычисляемые ячейки в строку (включая ячейку с количеством кадров) (именно перемещением ячеек мышью), тогда все формулы преобразуются корректно, ну а далее можно табличку заполнять до самой последней строки :-)

PS: Макрос привязан к определенным ячейкам, опять таки из-за отсутствия структуры вашего файла.


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327


Сообщение отредактировал dim34rus - Суббота, 24.12.2016, 01:51
 
Ответить
Сообщение
Цитата kaleidoscopetv, 24.12.2016 в 01:31, в сообщении № 12 ()
А как правильно "размножить" Вашу формулу

Дайте кусок вашего файла (где какие колонки), проставлю абсолютные ссылки

Если совсем по "деревянному" разверните все значимые и вычисляемые ячейки в строку (включая ячейку с количеством кадров) (именно перемещением ячеек мышью), тогда все формулы преобразуются корректно, ну а далее можно табличку заполнять до самой последней строки :-)

PS: Макрос привязан к определенным ячейкам, опять таки из-за отсутствия структуры вашего файла.

Автор - dim34rus
Дата добавления - 24.12.2016 в 01:43
krosav4ig Дата: Суббота, 24.12.2016, 03:34 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще один формульный вариант для файла из 11 поста
в диспетчере имен
Код
frames =25
Код
Duration =ABS(СУММ(МУМНОЖ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(A2:B2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(A2:B2;frames)));{-1:1})))
Код
TC_out =СУММ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(E2:F2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(E2:F2;frames))))

на листе
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(Duration/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(Duration;frames))*ЗНАК(B2-A2)
и
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(TC_out/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(TC_out;frames))
К сообщению приложен файл: 9656284.xlsx (11.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 24.12.2016, 19:41
 
Ответить
Сообщениееще один формульный вариант для файла из 11 поста
в диспетчере имен
Код
frames =25
Код
Duration =ABS(СУММ(МУМНОЖ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(A2:B2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(A2:B2;frames)));{-1:1})))
Код
TC_out =СУММ(ОТБР(frames*60^{2:1:0}*ОТБР(ОСТАТ(E2:F2/10^{6:4:2};100))+ЕСЛИ({1:0:0};ОСТАТ(E2:F2;frames))))

на листе
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(Duration/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(Duration;frames))*ЗНАК(B2-A2)
и
Код
=СУММ(ОТБР(ОСТАТ(ОТБР(TC_out/frames)/60^{2;1;0};60))*10^{6;4;2};ОСТАТ(TC_out;frames))

Автор - krosav4ig
Дата добавления - 24.12.2016 в 03:34
kaleidoscopetv Дата: Суббота, 24.12.2016, 14:28 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Благодарю за помощь. Пока, правда, полностью свои проблемы не решил, но понял смысл пословицы "Девушки встречаются с пользователями фотошопа, а замуж выходят за пользователей экселя". Голова пухнет :) Выяснилось, что у меня на Apple нет Visual Basic (модуля ?), так что буду дальше работать с формулами. Правильно ли я понял, что в формуле можно заменить номер ячейки, связанной с цифрой 24 или 25, на сами эти цифры?

To dim34rus. Не могу ли я Вам послать презент к Новому году? Если Вы не против, пришлите мне на мой адрес Kaleidoscope.tv@gmail.com номер своей кредитки.

Я так понял, в екселе можно все :)
А можно ли "принудительно" поменять вид отображения в ячейке значений?
Исходный 10:11:23:05 Измененный [10:11:23.05]
То есть в "новом" отображении по краям добавляются квадратные скобки, а последнее двоеточие заменяется на точку. Программа, с которой я работаю, требует именно такого нестандартного отображения.
Технология работы, которую я сейчас делаю, такая:
1. Из текстового файла со столбцами, содержащими TCin и Duration, разделенными табуляцией, делается таблица,
2. Таблица вставляется в эксель и просчитываются новые значения ТСout
3. Снова делается текстовый файл со столбцами, но уже TCin и TCout
4. Добавляются скобки и меняется двоеточие на точку (Вот этот этап хотелось бы произвести еще в экселе)
К сообщению приложен файл: CorrectTC.txt (0.0 Kb)
 
Ответить
СообщениеБлагодарю за помощь. Пока, правда, полностью свои проблемы не решил, но понял смысл пословицы "Девушки встречаются с пользователями фотошопа, а замуж выходят за пользователей экселя". Голова пухнет :) Выяснилось, что у меня на Apple нет Visual Basic (модуля ?), так что буду дальше работать с формулами. Правильно ли я понял, что в формуле можно заменить номер ячейки, связанной с цифрой 24 или 25, на сами эти цифры?

To dim34rus. Не могу ли я Вам послать презент к Новому году? Если Вы не против, пришлите мне на мой адрес Kaleidoscope.tv@gmail.com номер своей кредитки.

Я так понял, в екселе можно все :)
А можно ли "принудительно" поменять вид отображения в ячейке значений?
Исходный 10:11:23:05 Измененный [10:11:23.05]
То есть в "новом" отображении по краям добавляются квадратные скобки, а последнее двоеточие заменяется на точку. Программа, с которой я работаю, требует именно такого нестандартного отображения.
Технология работы, которую я сейчас делаю, такая:
1. Из текстового файла со столбцами, содержащими TCin и Duration, разделенными табуляцией, делается таблица,
2. Таблица вставляется в эксель и просчитываются новые значения ТСout
3. Снова делается текстовый файл со столбцами, но уже TCin и TCout
4. Добавляются скобки и меняется двоеточие на точку (Вот этот этап хотелось бы произвести еще в экселе)

Автор - kaleidoscopetv
Дата добавления - 24.12.2016 в 14:28
dim34rus Дата: Воскресенье, 25.12.2016, 02:53 | Сообщение № 17
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Цитата kaleidoscopetv, 24.12.2016 в 14:28, в сообщении № 16 ()
с цифрой 24 или 25, на сами эти цифры

Да правильно, но каждый раз менять формулу не "зер гуд" проглядите одну замену и потом будет много удивления, да и замороченно это.
ИМХО проще поменять кол-во кадров а одной ячейке, а формулу к ней абсолютной ссылкой (что-то типа $E$1) "привязать".

Цитата kaleidoscopetv, 24.12.2016 в 14:28, в сообщении № 16 ()
А можно ли "принудительно" поменять вид отображения в ячейке значений?


Измененный формат во вложении. (Смотрите так или не так)
+ скорректировал формулу разницы (исправлена ошибка, если разница меньше 1 сек. получается)
К сообщению приложен файл: 9515623-1-.xlsm (21.5 Kb)


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327
 
Ответить
Сообщение
Цитата kaleidoscopetv, 24.12.2016 в 14:28, в сообщении № 16 ()
с цифрой 24 или 25, на сами эти цифры

Да правильно, но каждый раз менять формулу не "зер гуд" проглядите одну замену и потом будет много удивления, да и замороченно это.
ИМХО проще поменять кол-во кадров а одной ячейке, а формулу к ней абсолютной ссылкой (что-то типа $E$1) "привязать".

Цитата kaleidoscopetv, 24.12.2016 в 14:28, в сообщении № 16 ()
А можно ли "принудительно" поменять вид отображения в ячейке значений?


Измененный формат во вложении. (Смотрите так или не так)
+ скорректировал формулу разницы (исправлена ошибка, если разница меньше 1 сек. получается)

Автор - dim34rus
Дата добавления - 25.12.2016 в 02:53
kaleidoscopetv Дата: Воскресенье, 25.12.2016, 14:49 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
Уважаемый dim34rus. Письмо от Вас получил.
Прошу Вас проверить, правильно ли я использовал Ваши советы в файле, с которым собираюсь работать в ближайшее время, если Вы утвердите :).
Использовал формулы, с макросами пока не разобрался - может, у меня они как-то не включаются, или такого не бывает?
К сообщению приложен файл: TC25.xlsx (11.6 Kb)
 
Ответить
СообщениеУважаемый dim34rus. Письмо от Вас получил.
Прошу Вас проверить, правильно ли я использовал Ваши советы в файле, с которым собираюсь работать в ближайшее время, если Вы утвердите :).
Использовал формулы, с макросами пока не разобрался - может, у меня они как-то не включаются, или такого не бывает?

Автор - kaleidoscopetv
Дата добавления - 25.12.2016 в 14:49
dim34rus Дата: Воскресенье, 25.12.2016, 19:40 | Сообщение № 19
Группа: Пользователи
Ранг: Участник
Сообщений: 66
Репутация: 10 ±
Замечаний: 0% ±

Excel 2007 - 2013
Похоже на правду. Косяков не заметил. hands


Извращение - это писать формулы в Word'овских таблицах.
ЯД 410014340958327
 
Ответить
СообщениеПохоже на правду. Косяков не заметил. hands

Автор - dim34rus
Дата добавления - 25.12.2016 в 19:40
kaleidoscopetv Дата: Воскресенье, 22.01.2017, 00:38 | Сообщение № 20
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel для Mac
dim34rus, Уважаемый Дмитрий
Наконец взялся за работу, облегчить которую должны были Ваши формулы. И - ничего не получилось...
То есть формулы работают, если в ячейки ВРУЧНУЮ заводить значения, например 01242311, они будут отображаться как 01:24:23:11, и операции будут осуществляться. Но у меня в работе таблицы Word, которые содержат значения уже в виде 01:24:23:11. Или, в другом случае, мне необходимо копировать эти цифры 01:24:23:11 (как текст), и вставлять в таблицу Excel для вычислений. Возникает ошибка. Мой рабочий файл прилагаю. Возможно ли что-то поправить в формулах?
К сообщению приложен файл: TC25_mistake.xlsx (11.5 Kb)
 
Ответить
Сообщениеdim34rus, Уважаемый Дмитрий
Наконец взялся за работу, облегчить которую должны были Ваши формулы. И - ничего не получилось...
То есть формулы работают, если в ячейки ВРУЧНУЮ заводить значения, например 01242311, они будут отображаться как 01:24:23:11, и операции будут осуществляться. Но у меня в работе таблицы Word, которые содержат значения уже в виде 01:24:23:11. Или, в другом случае, мне необходимо копировать эти цифры 01:24:23:11 (как текст), и вставлять в таблицу Excel для вычислений. Возникает ошибка. Мой рабочий файл прилагаю. Возможно ли что-то поправить в формулах?

Автор - kaleidoscopetv
Дата добавления - 22.01.2017 в 00:38
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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