1

我正在使用 Excel 进行倾向得分匹配(我知道这不是最好的工具,但这就是任务)。

MATCH()用来在 colM 中的条目的壁橱中找到 colO 中的条目(即字母 O)。我的电话在 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
4

1 回答 1

1

当您使用 1 或 -1(非零)作为 MATCH 的第三个参数时,需要对列 O 进行排序。如果要在未排序的列表中找到最接近的匹配项,则需要使用数组公式

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

使用 Control+Shift+Enter 输入数组公式,而不仅仅是 Enter。Excel 将在公式周围放置花括号。

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

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

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

于 2011-02-04T16:22:58.737 回答