在EXCEL中查找信号(查找2个连续点)

在EXCEL中查找信号(查找2个连续点),excel,Excel,我有一个数据集。有一个信号在一个点触发:它从1->0(我知道列号)改变,列看起来像这样 00000111111 000022222233333(请转置此行) 我想写一个这样做的命令(不一定是宏) 如果行(x)==1&&行(x+1)==0 返回x 问题是我不知道如何使用IF(和…没有行号 提前感谢您的帮助假设信号的列是B,从第1行开始,然后在另一列(例如C从C2开始)输入 并向下复制,然后在触发器上过滤以下公式将返回0之前的1行数 =LOOKUP(2,1/((myRng=1)*(OFFSET(my

我有一个数据集。有一个信号在一个点触发:它从1->0(我知道列号)改变,列看起来像这样

00000111111 000022222233333(请转置此行)

我想写一个这样做的命令(不一定是宏)

如果行(x)==1&&行(x+1)==0

返回x

问题是我不知道如何使用IF(和…没有行号


提前感谢您的帮助

假设信号的列是B,从第1行开始,然后在另一列(例如C从C2开始)输入


并向下复制,然后在触发器上过滤以下公式将返回
0
之前的
1
行数

=LOOKUP(2,1/((myRng=1)*(OFFSET(myRng,1,0)=0)),ROW(myRng))
如果存在多个触发器,您没有写入希望发生的操作。上面将返回最后一个触发器的行号

myRng
不能引用整个列,可以替换为例如
A1:A100
。如果这样做,您最好将
偏移量(myRng,1,0)
替换为
A2:A101
,以使公式不易失

说明:

(myRng=1)*(OFFSET(myRng,1,0)=0)
这会将
myRng
中的每个单元格乘以下一个单元格。如果第一个单元格=1,第二个单元格=0,则因子解析为
TRUE*TRUE
,并返回一个
1
。因此,上面将返回如下数组:

{0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}
将该数组除以1将返回一个
DIV/0
错误数组或
1


然后,查找公式将返回最后一个
1
的位置,并使用
result\u vector
的行号数组对其进行适当匹配。

您所说的列看起来像“00000111111 000022222233333”是什么意思?嗨,乔丹,对不起,我可能简化了这个问题,我的意思是,有很多“阶梯式”的这个数据集中的信号,我正在寻找一个特定的信号,从一个特定的数字变为另一个特定的数字。I Charles,非常感谢!这个命令非常有效!嗨Ron,非常感谢你的回答。对不起,我认为我把问题简化了。这个数据集中有几个触发器,我正在寻找一个特定的信号一个(可能不是第一个或最后一个).但是我从你的答案中学到了使用1和0的乘法来定位信号,这是非常有用的。我想我可以使用一些和条件。无论如何,非常感谢!如果你不能弄清楚,如果你提供你真正需要的信息,你会得到一个更好的答案。我的答案可以很容易地适应许多不同的类型一系列问题,甚至包括返回多个相同类型的触发器。
{0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}