Excel 在值范围开始增大时定位
我正在做一个温度曲线,需要尽可能地自动化这个过程。我需要确定零件在一段时间内何时开始升温。目前,我通过手动滚动数千个数据点,直到看到增加为止。零件将在室温下放置一段时间,然后慢慢开始升高 在~1°C时,该值应略有增加,这意味着如果B327读数为27.5°C,B328读数为28.6°C,这将是我的起点 一旦温度升高,将显示时间并进行进一步计算Excel 在值范围开始增大时定位,excel,vba,excel-formula,Excel,Vba,Excel Formula,我正在做一个温度曲线,需要尽可能地自动化这个过程。我需要确定零件在一段时间内何时开始升温。目前,我通过手动滚动数千个数据点,直到看到增加为止。零件将在室温下放置一段时间,然后慢慢开始升高 在~1°C时,该值应略有增加,这意味着如果B327读数为27.5°C,B328读数为28.6°C,这将是我的起点 一旦温度升高,将显示时间并进行进一步计算 我使用Excel进行数据分析,更喜欢使用公式vs VBA,这样文档更易于维护,以备将来使用 您可以使用如下数组公式: =MATCH(TRUE,(A2:A11
我使用Excel进行数据分析,更喜欢使用公式vs VBA,这样文档更易于维护,以备将来使用 您可以使用如下数组公式:
=MATCH(TRUE,(A2:A11-A1:A10)>0.1,0) '<< Use Ctrl+Shift+Enter
=MATCH(真,(A2:A11-A1:A10)>0.1,0)'0.1(调整以适应)并使用MATCH查找第一个真值的位置应足够容易,以检查两个连续点之间的差异,并查看其是否超过1°。到目前为止你都试了些什么?我想这也应该很容易,但由于某种原因,我一直在挠头。我可以通过添加第二列并使用=IF(ABS(B1-B2)>1,A1,“”),然后在第一列中第一次搜索来实现它。我的目标是将所有内容都放在一个单元格中,这样就不必添加单独的列。有了VBA,我可以循环浏览该列,但为了简单起见,我还是希望使用公式。也许我让事情变得更难了…你期望的结果是什么?我不会使用ABS
,因为它也会标记温度下降1°,我所追求的是温度上升的开始时间。A列为时间(秒),B列为温度(°C)。数据每~0.2秒更新一次,因此一旦温度开始升高,之后通常会以指数形式继续升高。辅助列可以吗?如果是,请使用一个计算每行之间差异的工具(=B3-B2
),然后使用=INDEX(A:A,MATCH(1,C:C,1))
获取开始增加的时间这很有效,谢谢。我稍微修改了它,因为在>0.1时,我注意到我得到了噪音,所以我将它改为=索引(A11:A705,匹配(1,(N11:N705>0.1)*(N12:N706>0.1),这确保了温度连续升高。索引部分提取@controlnetic.nomad建议的温度升高开始时间。