本次的练习是:给定一个任意大小的单元格区域,其每个单元格中的数据要么是0要么是1,并且每行至少有一个1,要求使用一个公式返回一个数组,该数组由区域每行中第一次出现1的相对列位置组成。...例如下图1所示的单元格区域A1:E10,要求返回数组{2;1;1;2;1;5;1;4;1;3}。
?
图1
注意,公式中可以使用单元格区域A1:E10,但应该适用于任何其他区域。...每行的第一个正值的位置(数据中没有负值)
=-INT(LOG(MMULT(SIGN(Data),10^-ROW(OFFSET(A1,,,COLUMNS(Data)))),10))
2....每行的第一个正值的位置(数据中可能有负值)
=-INT(LOG(MMULT(--(Data>0),10^-ROW(OFFSET(A1,,,COLUMNS(Data)))),10))
3....每行的第一个非零值的位置
=-INT(LOG(MMULT(--(Data0),10^-ROW(OFFSET(A1,,,COLUMNS(Data)))),10))
4.