=TEXT(H2 - INDEX($H$2:$H$1000, MATCH(B2, $B$2:$B$1000, 0)), "mm:ss")
import pandas as pd
# 假设你已经加载了数据
df = pd.read_excel('你的文件路径.xlsx')
# 将'开始时间'列转换为datetime类型
df['开始时间'] = pd.to_datetime(df['开始时间'])
# 计算每个'课堂号'组内的时间差,并格式化为分钟:秒钟
df['视频中的时间'] = df.groupby('课堂号')['开始时间'].transform(lambda x: (x - x.iloc[0]).dt.total_seconds())
df['视频中的时间'] = df['视频中的时间'].apply(lambda x: f"{int(x // 60):02d}:{int(x % 60):02d}")
# 保存结果到新的Excel文件
df.to_excel('输出文件路径.xlsx', index=False)
当一节课新开始的时候会报错
python不会,暂时用python
但是python复制过去有bug
还是用公式解决了
D2单元格输出即可
=TEXT(INT((H2 - INDEX(H:H, MATCH(B2, B:B, 0)))*86400/60), "00") & ":" & TEXT(MOD((H2 - INDEX(H:H, MATCH(B2, B:B, 0)))*86400, 60), "00")
如果不改动之前的话
=TEXT(INT((D2 - INDEX(D:D, MATCH(B2, B:B, 0)))*86400/60), "00") & ":" & TEXT(MOD((D2 - INDEX(D:D, MATCH(B2, B:B, 0)))*86400, 60), "00")