1

4列のExcel 2010スプレッドシートがあります。

列 A: 私が販売する製品の UPC コードのリスト。約300行。

列 B: 数式 (これについては後で詳しく説明します)

列 C: UPC コードの別のリスト。これらの UPC コードは約 10,000 行です。

列 D: 列 C の UPC コードに対応する在庫数。

式:

=VLOOKUP(A2,C:D,2,FALSE)

アイデアは、対応する在庫数を取得するために、私の UPC コードをサプライヤーの UPC コードと照合することです。

すべてのデータは、他のスプレッドシートから新しいスプレッドシートに貼り付けられ、他の文字や書式がインポートされないようにするためだけに値として貼り付けられました。

この式は 300 行すべてに適用されます。

列 A の値の前に次の文字を挿入するまで、列 B に #N/A というエラーが表示されました。

'

注: は、セルをクリックして上のボックスに'入力することにより、手動で挿入されました。'

これが行われた直後に、#N/A は列 D から取得された対応する在庫に変わります。

私の質問は、なぜこれが機能するのですか? not のないメソッドが機能しないのはなぜ'ですか? '列 A のすべての値の前にすばやく追加する方法はありますか? 注: CONCATENATE("'",A2) は何らかの理由で機能しません。

4

2 に答える 2

0

これが私の理論です。VLOOKUP では、ルックアップ値 (A2) がルックアップ テーブルの最小値 (C:D) より小さい場合、N/A が返されます。引用符 (') を先頭に追加すると、A2 は数値ではなく文字列になります。したがって、たとえば 1002 の UPC は、1002 という数字ではなく、1-0-0-2 の文字列シーケンスとして扱われます。これにより、VLOOKUP は別の方法で比較を行い、N/A を回避できます。

列 A で Ctrl-1 を試して、すべてをテキストとして扱うようにすることもできます。

于 2013-07-21T22:08:05.740 に答える