使用ADDRESS()返回从另一个公式(Excel)find的单元格

我有一列城市名称的列表,其中有一列相同的城市名称,其中的单元格之间有距离。 所以你可以画出一个零对angular线,每个城市将走零距离到达自己,而对angular线两边的两个三angular形是彼此之间的镜像。

现在我想要实现的是find距离另一个城市最近的城市。 所以现在我可以成功find一个城市到下一个城市的最小距离:“{= MIN(IF(B2:B19> 0,B2:B19))}

这让我至less没有零距离,但我也希望城市名称,以及出现在最左边的列。

我尝试过使用这个:“{= OFFSET(INDEXECT(ADDRESS(ROW(),COLUMN())),0,X)}

其中X =到达左侧城市名称所需的列偏移量。 我已经尝试在ROW()和COLUMN()函数中开始时提到MIN函数,但是这会导致错误并且不起作用。

本质上,我发现我想获得距离最近的列的城市名称。 如果任何人都能看到我应该看的下一个或哪里出了问题,那将是非常感激的。

问候

你可以尝试使用一个INDEX公式来代替(像以前一样,以数组formsinput):

 =INDEX($B$1:$D$1,1,MATCH(MIN(IF(B2:D2>0,B2:D2)),B2:D2,0)) 

这与上面的MIN公式具有相同的警告 – 它将匹配find的第一个值。 (注意:@ barryhoudini的公式如下( =INDEX($B$1:$D$1,MATCH(SMALL(B2:D2,2),B2:D2,0)) )实际上会为你节省数组入口, )。

在这里输入图像说明

如果你想使用INDIRECT ,你可以使用(也作为一个数组input):

 =INDIRECT(ADDRESS(ROW($1:$1),MATCH(MIN(IF(B2:D2>0,B2:D2)),A2:D2,0))) 

在这里输入图像说明

这将使用第一行作为ROWrow_num参数,匹配MIN值,并以匹配的值返回第一行中单元格的ADDRESS 。 地址将是$D$1 ,而INDIRECT将返回该值。