1

私は2つのスプレッドシートを持っています:

最初のスプレッドシートは、アプリ コード (4 桁のコード) と、アプリ コードに付属する特定のアプリ名の 2 つの列で構成されます。約 5300 のアプリ コードとアプリ名があります。

2 番目のスプレッドシートは、App Codes という 1 つの列で構成されており、この列には 4900 個の App Code しかありません。

基本的に、どの 400 アプリ コードが欠落しているかを調べようとしています。3 つの列を隣り合わせに配置することが可能かどうか、およびセルに「N/A」と表示される 2 つのアプリ コードがない場合 (欠落している 400 アプリ コード) があるかどうか疑問に思っています。

私は Vlookup と Match 関数について読んできましたが、この実際の概念でそれを行う方法がよくわかりません。これを可能にする方法について、誰かが手順を説明してくれることを願っています。

乾杯

4

1 に答える 1

1

スプレッドシート 2 が Sheet2 と呼ばれ、両方のスプレッドシートの最初の行にヘッダー名があるとします (したがって、コードと名前は行 2 から下に向かって始まります)。

VLOOKUP最初のスプレッドシートのセル C2 で次のように使用できます。

=VLOOKUP(A2, Sheet2!A:A, 1, FALSE)

そして、この数式をデータ テーブルの最後までコピー/貼り付け (または記入) します。

この式は実際にスプレッドシート 2 から一致するアプリ コードを取得するため、スプレッドシート 2 に対応するアプリ コードがない場合は、次のようになります。#N/A

を使用する場合はMATCH、次のようになります。

=MATCH(A2, Sheet2!A:A, 0)

とは対照的にVLOOKUPMATCHはそのセルの値の代わりに一致が見つかった行番号を返し#N/Aますが、一致が見つからない場合でも戻ります。


編集: lookup_table にスペースがあるため、2 つのオプションがあり、MATCH メソッドを好むように思われるため、2 つのオプションを指定します。

1)

=MATCH(A2, TRIM(Sheet2!A:A), 0)

これは配列数式なので、単純に ではなくCtrl+ Shift+を使用して機能させます。EnterEnter

配列数式は、通常の数式よりも低速です。

2)

=MATCH("*"&A2&"*", Sheet2!A:A, 0)

これは通常の式ですが、App Code が重複していないことが確実な場合に機能します。つまり、App Code '42' と '420' の両方が同じ範囲にある場合、それが勝ちました。意図したとおりに動作しません。ただし、上記の配列式よりもかなり高速です。


EDIT2: データが本当に混乱しており、値の一部が日付に変換され、他の値が科学表記法に変換されていることが判明しました。私は頼りました:

=MATCH(TRIM(A2), TRIM(Sheet2!A:A), 0)

変形された (おそらくデータの取り扱いミスによる) ルックアップ テーブルにはまだアプリ コードがありますが、それらを修正するには手動で編集する必要があります。のようなもの2.00E+00は、フォームの AppCode である可能性があります2E00


EdIT3: [長くなってしまいました:)]

取得したばかりのアプリ名に対応する 3 番目の列を取得する場合は、次を使用しますVLOOKUP(式は、送信されたファイルのとおりです)。

=VLOOKUP(TRIM(A2),TRIM(Sheet1!A:B),2,0)

繰り返しますが、これは配列数式なので、単純に ではなくCtrl+ Shift+を使用して機能させます。EnterEnter

于 2013-10-02T03:58:29.807 に答える