MATCH()只返回Excel中两个值中的一个

我使用Excel做倾向分数匹配(不是最好的工具,我知道,但这是分配)。

我正在使用MATCH()来查找colO(这是字母O)closet中的条目到colM中的条目。 我的电话在libreoffice中正常工作,但不在Excel中。 colO和colM中的所有值都是概率(即在0和1之间)。

 =MATCH(M11, O$11:O$60, 1) 

如果colM中的值为零,则MATCH()返回28,这也是colO中的零。 如果colM中的值大于零,则MATCH()返回50,这是colO中最小的非零值。

有任何想法吗? 我通常不使用Excel。 哦,这是这些列的顶部:

 propensity health w/o vaccine propensity match 0 2 0.393115219 28 0 1 0.280598404 28 0.747918388 0 0 50 0.843491818 0 0 50 0.707782271 0 0 50 0.829627573 0 0 50 0.515298454 0 0 50 0.464636469 0 0 50 0.705333684 0 0 50 0 3 0.641132271 28 0 4 0.366445099 28 0.590387706 0 0 50 0.859441341 0 0 50 0 2 0.304260844 28 0 3 0.725971617 28 

当使用1或-1(而不是零)作为MATCH的第三个参数时,需要对O列进行sorting。 如果要在未sorting列表上find最接近的匹配项,则需要使用数组公式

 =MATCH(MIN(ABS(M11-$O$11:$O$25)),ABS(M11-$O$11:$O$25),FALSE) 

用Control + Shift + Enterinput一个数组公式,然后input。 Excel会在公式周围放置大括号。

第一个参数找出M11和O列中每个值之间的最小差异。第二个参数是所有差异的完整列表。 MATCH将该最小值与完整列表进行匹配,并返回find的行。 我明白了

 3 3 15 15 15 15 1 1 15 3 3 10 15 3 3 

乍一看看起来是正确的。 将公式中的$ O $ 25更改为O列中数据的结尾。