|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
修改下更好理解
早上坐公交的时候想了下,其实这个运算有点绕,就说($A$1:$A$20<>"")*MATCH(IF($A$1:$A$20<>"",$A$1:$A$20)这里吧,{TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;TRUE;TRUE;TRUE;FALSE;TRUE}*{1;1;1;1;1;1;1;1;1;10;11;11;11;10;15;15;15;15;10;20}={TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE}就是为了利用match处理掉错误值,从而使small第一参数内存数组为{1;65536;65536;65536;65536;65536;65536;65536;65536;65536;11;65536;65536;65536;15;65536;65536;65536;65536;20}
所以要实现同样的目的,用iserror就容易理解多了。改了一下:
=IF(MOD(ROW(1:1),2),INDEX(A:A,SMALL(IF(IF(ISERROR(MATCH($A$1:$A$20,$A$1:$A$20,0)),0,MATCH($A$1:$A$20,$A$1:$A$20,0))=ROW($A$1:$A$20),ROW($1:$20),4^8),ROW(2:2)/2)),"")&""
殊途同归 |
|