Получение миллисекунд от даты в формате ММ / ДД / ГГГГ ЧЧ: ММ: СС.000 в Excel - PullRequest
0 голосов
/ 18 октября 2018

Попытка получить только миллисекунды из ячейки в формате ММ / ДД / ГГГГ ЧЧ: ММ: SS.000 PM.Большинство уравнений выдают ошибку, которая гласит:

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

Изображение примера отформатированной ячейки

ОБНОВЛЕНИЕ:

Решил проблему, написав скрипт Python с использованием панд и библиотек времени.Предполагая, что данные о времени находятся в столбце A, этот код должен работать, создав новый файл Excel с именем output.xlsx:

import pandas as pd 
import time
df = pd.read_excel('firstFile.xlsx', usecols = "A")
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
df.Time = pd.to_datetime(df.Time)
df.Time = df.Time.dt.microsecond
df.Time = df.Time - df.Time[0]
df.to_excel(writer, sheet_name = 'Sheet1')
writer.save()

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

Эта ошибка "циклических ссылок" больше связана с ошибкой в ​​формуле, чем с форматированием ячейки.Эта формула может ответить на ваш вопрос:

=MOD(MOD(A1;1)*24*60*60*1000;1000)

Предполагается, что ваша дата находится в ячейке A1.

Помните, что даты в Excel являются числами: целая часть представляет дату и десятичную частьпредставляет внутридневные измерения (часы, минуты, секунды и миллисекунды)

0 голосов
/ 18 октября 2018

Кажется, что работает следующая формула:

=RIGHT(TEXT(A1, "hh:mm:ss.000"),3)/1000

Предполагается, что ваша дата находится в ячейке A1, и она работает путем преобразования в текст и последующего извлечения компонента миллисекунды в конце.

...