0

VLOOKUP を実行しようとしていますが、マスタードをカットするつもりはありません。リストの最初の列をアルファベット順に並べ替える方法はありません。

リストをアルファベット順に並べることができない場合に、VLOOKUP で使用できる関数の代替または組み合わせはありますか?

4

3 に答える 3

6

OPのコメントのリンクから:

Range_lookup VLOOKUP で完全一致または近似一致を検索するかどうかを指定する論理値:

TRUE の場合、または省略された場合、完全一致または近似一致が返されます。完全一致が見つからない場合は、lookup_value より小さい次の最大値が返されます。

table_array の最初の列の値は、昇順で並べ替える必要があります。そうしないと、VLOOKUP で正しい値が得られない場合があります。[データ] メニューから [並べ替え] コマンドを選択し、[昇順] を選択すると、値を昇順で並べ替えることができます。詳細については、デフォルトの並べ替え順序を参照してください。

FALSE の場合、VLOOKUP は完全一致のみを検索します。この場合、table_array の最初の列の値を並べ替える必要はありません。table_array の最初の列に lookup_value と一致する値が 2 つ以上ある場合は、最初に見つかった値が使用されます。完全一致が見つからない場合は、エラー値 #N/A が返されます。

ドキュメントがどのようにフォーマットされているかはそれほど明白ではありませんが、ルックアップ範囲を昇順にソートする必要があるという条件は、VLOOKUP の 4 番目の引数が TRUE であるか、ゼロ以外の正の数であるか、省略されている場合にのみ適用されます。(4 番目の引数がゼロ以外の負の数である場合、最初の列は降順で並べ替える必要があります。) このような場合、数式が完全一致ではない結果を返すことを許可しています。

完全一致のみを探している場合は、4 番目の引数に FALSE (またはゼロ) を指定する必要があり、最初の列を並べ替える必要はまったくありません。

ソートされていない範囲で完全に一致しないものを探している場合、次のようなものが Google スプレッドシートで機能するはずです (列 A で C1 の一致を探し、列 B で対応するエントリを返すと仮定します)。

=INDEX(SORT(FILTER(A:B;LEN(A:A));1;1);MATCH(C1;SORT(FILTER(A:A;LEN(A:A));1;1));2)

于 2013-04-16T22:12:24.360 に答える
0

DGET - Google スプレッドシートにはデータベース スタイルの関数がたくさんあります。DGET が必要な関数だと思います。

于 2013-04-16T02:44:28.983 に答える