find的第一个错误单元的返回地址(在A1和X500之间)

如果你有办法,给我一些故障,所以我可以学习它,而不是只是复制它。 -谢谢

=ADDRESS(MATCH("keyword",B:B,0),3,1,1) 

这个方便的东西把我在列中寻找的东西,我可以调整它为1列工作,但它似乎寻找错误多列和行是高于我的薪酬等级。

…………
对于那些有兴趣的人如何

你可以通过链接到你的search地址进一步帮助你自己…(它真的很方便地跳转到感兴趣的地方,只要你的文档不需要你留下错误,所以你不能进入下一个一个这样)

(示例search)

简单的版本

 =HYPERLINK(CONCATENATE("#",a1),"Title of Link") 

它发送给你在A1点击时find的任何地址(如果你想进入持有链接的单元格,只需按住leftclick长一点。)

 =HYPERLINK(CONCATENATE("#",CELL("Address",INDEX($B:$B,MATCH ("keyword your search for",$B:$B,0)+0))),"Title of Link") 

详细信息:超链接,#=内部链接 – 到这个文件或表单(不pipe它是什么),使用地址,通过索引匹配标准find,名称 – 单元格中出现的文本。

我不build议在AGGREGATE¹函数中使用完整的列引用,但是将列引用切割为更加合理的实际数据区域表示效果很好。

 'first error =ADDRESS(AGGREGATE(15, 6, ROW(1:9999)/ISERROR(B1:B9999), 1), COLUMN(B:B), 1, 1) 'second error =ADDRESS(AGGREGATE(15, 6, ROW(1:9999)/ISERROR(B1:B9999), 2), COLUMN(B:B), 1, 1) 'last error =ADDRESS(AGGREGATE(14, 6, ROW(1:9999)/ISERROR(B1:B9999), 1), COLUMN(B:B), 1, 1) 'first error in column B:D from B1, B2, ... D9998, D9999 =IFERROR(ADDRESS(AGGREGATE(15, 6, ROW(1:9999)/ISERROR(B1:B9999), 1), COLUMN(B:B), 1, 1), IFERROR(ADDRESS(AGGREGATE(15, 6, ROW(1:9999)/ISERROR(C1:C9999), 1), COLUMN(C:C), 1, 1), IFERROR(ADDRESS(AGGREGATE(15, 6, ROW(1:9999)/ISERROR(D1:D9999), 1), COLUMN(D:D), 1, 1), "no errors"))) 

在最后一个例子中, IFERROR函数用于在没有发现错误的情况下将控制权交给引用另一列的下一个子公式。

第一个和最后一个错误的地址


¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。

http://www.excelforum.com的Tony Valko已经用一个主要的中风来定位这个问题 – 这是其他任何想要使用它的人:

 =IFERROR(ADDRESS(MOD(SMALL(IF(ISERROR($A$1:$D$5),COLUMN($A$1:$D$5)*10000+ROW($A$1:$D$5)),ROWS(F$1:F1)),10000),TRUNC(SMALL(IF(ISERROR($A$1:$D$5),COLUMN($A$1:$D$5)*10000+ROW($A$1:$D$5)),ROWS(F$1:F1))/10000),4),"") 

**数组公式需要使用CTRL,SHIFT,ENTER(不只是ENTER)的组合键input。 按住CTRL键和SHIFT键。

此外,您可以用“Some word”replace结尾“”),以便在没有错误时不会丢失视图中的公式。