解析
公式中:
IF(A1:H1=0,"",COLUMN(A1:H1))
用来获取非零数值所在的列号,结果为:
{1,"",3,"",5,"",7,""}
然后,使用SMALL函数来根据COLUMN函数的值获取相应的列号值...,对于列A,公式中的SMALL函数解析为:
SMALL({1,"",3,"",5,"",7,""},1)
结果为:
1
传递给INDEX函数,得到:
INDEX(A1:H1,1,1)
结果为单元格A1中的值...)
转换为:
=IFERROR(INDEX(A1:H1,1,SMALL({1,"",3,"",5,"",7,""},COLUMN(D1))),"")
转换为:
=IFERROR(INDEX(A1:H1,1...,SMALL({1,"",3,"",5,"",7,""},4)),"")
转换为:
=IFERROR(INDEX(A1:H1,1,7),"")
结果为单元格G1中的值:
4
这里,使用IFERROR函数避免找不到值时显示错误值...如果使用Office365,还可以使用FILTER函数来实现。