Excel -确定单元格区域中的零是否是结果的一部分

j7dteeu8  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(110)

我目前正试图自动化一个步骤计数器的重心数据集在Excel中。
提供的数据分为三列。第1列包含时间(总是以5步为单位),而第2和第3列包含x轴和y轴的值。这些值创建了一条线,表示人在一系列步骤中的重心移动方式(数据总是右脚或左脚)。


的数据
的不同步骤(大多数每边大约需要20步)可以通过大范围的零看出(可能是连续70个左右)。所以如果两列都有数字,我们就在第1步。如果两列都有大约70个零,那么我们就在暂停。一旦数字再次开始,我们在第2步。这是一个新步骤的开始:



我被要求创建一个公式来自动检测步骤。由于传感器只检测0的数字之间有很大的差距,这不是太大的问题。我相信它可以做得更好,但我的理解有限。这是我的公式,最初的1是手动的,但它识别步骤1(表示为2):



然而,在对不同受试者的数据集进行进一步检查时,我意识到,即使在一步中,有时也会有一个或多个零,在这些零之后,“正常”数字继续存在。这些零很重要,因为它们表明重心正在远离观察到的脚。我的公式现在会检测到一个新步骤的开始,这是错误的,因为我们仍然在同一步中,即使重心已经短暂地改变了。正如你所看到的,零是步骤的一部分,但显然公式认为新的步骤已经开始:



只有50个科目,所以可以手动调整,因为公式做了很多工作。
然而,我想知道是否有一种智能的方法来调整公式,以识别如果零的范围小于10行,那么我们仍然在同一步,但如果范围更大,那么我们就处于停顿状态。
最初,我添加了一个CountIF条件,如果三行中只有一个零,则应忽略新步骤,保留旧步骤。但由于中心偏移通常需要三行以上,但不会超过五行,因此我不知道是否可以检测到这种情况。一个快速中心偏移的例子,在传感器恢复活动之前需要三行:

zmeyuzjn

zmeyuzjn1#

非常具有挑战性的需求。我无法在没有手动输入的情况下完成公式。我能得到的最佳方法是您需要手动设置数据的前10行的值为step(如果零不是步骤的一部分,则为空)。


的数据
从B1到B10的单元格是手动输入:1,因为这些值将是第1步,空白是因为这些零将不是是第1步的一部分。然后在单元格B11中,我得到了这个公式:

=IF(A11<>0;IF(B10="";MAX($B$1:B10)+1;MAX($B$1:B10));IF(COUNTIF(A1:A10;0)+COUNTIF(A12:A21;0)>=10;"";MAX($B$1:B10)))

字符串
注意我用黄色突出显示了8个连续的零。因为8小于10,所以公式认为它仍然是同一个步骤。对于不属于任何步骤的零,公式返回空白,因此更容易看到每个步骤

nkkqxpd9

nkkqxpd92#

在D列的前十个单元格中填充值1,然后对其余行填充:=IF(SUM(B2:B11)>0,D11,IF(B12=0,D11,D11+1))
(if如果前十行中的任何一行为非零,则停留在同一步骤;如果当前行为零,则als停留在同一步骤,否则转到下一步骤。

gk7wooem

gk7wooem3#

地点:

  • 在单元格E1中,定义一个步骤的连续“零”行的数量
  • 在单元格D2中,
=IF(SUM(OFFSET(B2;-MIN(ROW()-1;$E$1);0;MIN(ROW()-1;$E$1);2))=0;MAX($D$1:D1)+1;D1)

字符串
把它拖下去
100d1x

的字符串

相关问题