【发布时间】:2021-03-12 21:21:56
【问题描述】:
我有一个电压输出列表和记录它们的时间戳。对于某些背景,我的测试从 0-5V 每 30 秒将电压增加 1mV。系统每秒读取一次左右,可能不一致。该工作表有超过 70000 行,但我只需要超过 5000 行。
到目前为止,我已经使用 =RIGHT(TEXT(A1, "hh:mm:ss"),2) 从时间中提取秒数。不幸的是,时间戳总是每 30 秒一次,所以我不能简单地过滤每 0 秒和 30 秒。有时会跳过 30 秒,它会显示为 35 秒。
如何创建一个 VBA 脚本,以每 30 秒间隔提取增量,如果没有完美的 30 秒跳跃,请选择最接近的匹配项(即 29 或 31)?
任何指导将不胜感激!
【问题讨论】:
-
我不认为你可以为此做一个直截了当的“过滤器”。但是,您可以编写一个 VBA 宏(或一个数组函数),它可以 1)将适当的 5000 行复制到不同的工作表,或 2)为应该选择/过滤的 70,000 行中的 5000 设置一个标志列为了。这可以接受吗?
-
这正是我要找的:)
-
@RBarryYoung 你如何建议我完成这个?
-
也许MRound 在这里有用。您可以将所有时间戳四舍五入为 30 或 0 的倍数,然后选择它们
-
我认为这不会很好,因为如果有一个间隔已经有一个完美的 30 秒,它会将 29 舍入到 30 并扭曲我的最终行数......目标是能够将测试数据与理论数据相匹配,显示与实际数据相比的确切增量。