使用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)))
这将使用第一行作为ROW
的row_num
参数,匹配MIN
值,并以匹配的值返回第一行中单元格的ADDRESS
。 地址将是$D$1
,而INDIRECT
将返回该值。