在EXCEL中查找信号(查找2个连续点)
我有一个数据集。有一个信号在一个点触发:它从1->0(我知道列号)改变,列看起来像这样 00000111111 000022222233333(请转置此行) 我想写一个这样做的命令(不一定是宏) 如果行(x)==1&&行(x+1)==0 返回x 问题是我不知道如何使用IF(和…没有行号在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
提前感谢您的帮助假设信号的列是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}