2015-09-26 2 views
2

У меня есть устройство, которое записывает время в этом формате: hh:mm:ss:ms, записывая одну точку данных каждые 40 мс. Другими словами, у меня есть столбец времени, что увеличивает на 40 мс на клетку:Создать временные ряды в миллисекундах

15:07:57:000 
15:07:57:040 
15:07:57:080 
15:07:57:120 
15:07:57:160 
15:07:57:200 
... 

У меня есть 25 минут записи в течение более чем 50 предметов, собранных в разное время суток. Для того, чтобы проанализировать данные, мне нужно создать новый Excel файл с кодом участника, время от 0 до 25 мин, переменная исхода и т.д.

Столбец время должно быть: мм: сс: мс 00:00 : 000 to time: 25: 00: 000

Я попытался создать новый столбец с ячейкой пользовательского формата: hh: mm: ss.000; @ Но, если я попытался автозаполнять, он просто добавляет 40 к миллисекунды до бесконечности, не считая секунд и минут.

Как создать временную переменную, которая рассчитывает минуты, секунды и миллисекунды с увеличением 40 мс на ячейку?

+0

http://stackoverflow.com/a/3095530/293078 –

+0

Серия заполняется '15: 07: 57.000 | 15: 07: 57,040'? – pnuts

+0

Update: Я попытался это: ячейки B1: Формат ячейки = чч: мм: ss.000; @ я tiped в клетке; 00: 00: 00: 000 Я скопировал в ячейке В9, то я набрал в ячейке В9: = B1 + ORARIO (0,0,0.4) (orario означает Hour ... Я преуспеть в итальянский) ... Но это дает мне ошибку под названием «Значение» ... Я предполагаю, что секунды должны быть между 0 и 59, а миллисекунды не разрешены ... Я только что видел ваши ответы ... I Посмотрите и дайте знать ... (Спасибо) – Glu

ответ

0

Существует много расчетов, связанных с формулой, которая получает каждое значение независимо 37 500 раз.

В одной клетке:

15:07:57.000 

и в камере непосредственно ниже (или сразу справа):

15:07:57.040 

с обоими выбраны и скопированы вниз (или поперек) неточностью после 25 минут, вероятно, составляет менее 50 миллионных долей миллисекунды, поэтому они не будут отображаться с точностью до миллисекунды. При сравнении времени в любом случае часто целесообразно округлять соответствующим образом. И заполнение серий не требует никаких формул, поэтому быстро создавать и не замедлять расчеты.

С выделенными двумя ячейками (здесь A2 и A3, с A2, начиная с 0 и A2 40 мс позже), когда курсор наводится над дескриптором заполнения (маленький квадрат внизу справа), он меняет форму на крест (преувеличены в примере!):

enter image description here

левой кнопкой мыши в том состоянии, держать депрессию и перетащить вниз, чтобы удовлетворить. Для так много строк может быть быстрее выбрать A2 и использовать HOME> Editing - Fill, Fill Series, Series ..., Series in Columns, Type Linear, Step value: 0.000000462962962962963, Stop value: 0.0173611111111111, но требует осторожности при вводе чисел и, я подозреваю, может в некоторых случаях быть немного более неточным (в миллионных долях миллисекунды), чем перетаскивать.

Начиная с B1 с 1, степпинг 1 и остановка на уровне «2000000» заполняет более миллиона рядов в мгновение ока.

+0

pnuts, я попробовал заполнение серии, но я не мог заставить его работать должным образом. Мне было бы интересно узнать, как вы это сделаете, чтобы получить результат, подобный показанному на картинке, опубликованной jeeped. спасибо. – Glu

+0

Я пробовал ваше решение. Я не могу поверить, что я не мог заставить его работать раньше, я был уверен, что уже пробовал это. В любом случае, это немного странно, потому что похоже, что это округляет время ... но оно все еще отлично работает для того, что мне нужно. Спасибо – Glu

+1

Ok, последнее замечание (я думаю): У меня EXACTELY, что я хотел, делая это: первый сотовый: формат -> пользовательский формат -> мм: ss.000; @ Значение в первая ячейка: 00: 00.00 Вторая ячейка: 00: 00.040 Выберите первую и вторую и скопируйте. Оба решения отлично работали. Это правда, что решение, предложенное Jeeped, требует большого количества вычислений. Я выбрал весь столбец и попытался скопировать в другой столбец и преуспеть раздавлен. Но, в любом случае, оба решения великолепны. Еще раз спасибо всем – Glu

1

Вы хотите создать все значения времени, основанные на настройке исходного времени (например, 00: 00: 00.000). Время часто не вычисляется до конечных значений; обычно заканчивается повторяющимся десятичным или усеченным десятичным значком, где округление будет увеличивать ошибку, если оно создано на последнем новом значении. В технике это известно как размерность привязки, где все размеры сняты с базовой линии, а не поэтапного размера, где потенциальная ошибка складывается.

Time Increments

После форматирования A2, hh:mm:ss.000, поместить следующее в А2,

=TIME(0, 0, 1)/25*(ROW(1:1)-1) 

Заполните вниз A37502, чтобы завершить полный шаблон 40мс инкремента в течение 25 минут.

Обратите внимание, что TIME function не поддерживает создание десятичного числа самой секунды. Одна секунда (например, 00:00:01) равна 0,0000115740740740741 с точностью до 15 цифр. Это прибывает с Time(0, 0, 1). 40 мс - ¹/₂₅ секунды, и приращение 40 мс необходимо умножить на каждую последовательную строку.

+0

OMG, Jeeped, спасибо вам ТАК МНОГО! Ты просто спас мне столько времени. Это сработало отлично! Кроме того, спасибо за объяснение проблемы. Если бы вы были где-нибудь рядом, я бы обнял вас и хотя бы предложил вам выпить =) И спасибо вам, кто даже пробовал =) – Glu

Смежные вопросы