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 のゼロ以外の最小値です。

何か案は?エクセルは普段使いません。ああ、これがこれらの列の上部です。

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

MATCH の 3 番目の引数として 1 または -1 (ゼロではない) を使用する場合、列 O を並べ替える必要があります。ソートされていないリストで最も近いものを見つけたい場合は、配列数式を使用する必要があります

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

単に入力するのではなく、Control+Shift+Enter で配列数式を入力します。Excel は数式を中かっこで囲みます。

最初の引数は、M11 と列 O のすべての値との最小差を見つけます。2 番目の引数は、すべての差の完全なリストです。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 に答える