web-dev-qa-db-ja.com

シート間でデータをインポートする方法

Excelに2つの異なるワークシートがあり、すべての行1のセルに同じ見出しが含まれています(a1 = id、b1 =名前、c1 =価格)。私の質問は、「名前」などのデータを1つのワークシートから別のワークシートにインポートする方法はありますか。「id」は両方のワークシートで同じです。

eg.
sheet 1                             sheet2
ID      Name       Price            ID        Name        Price
xyz     Bag        20               abc                     15
abc     jacket     15               xyz                     20

それでは、シート1の「名前」をシート2の「名前」に追加する方法はありますか?シート1の「ID」=シート2の「ID」ですか?

もちろん対処と貼り付けなしで

5
Hip Hip Array

VLookup

単純なVLOOKUP数式でそれを行うことができます。同じシートにデータを配置しましたが、別のワークシートを参照することもできます。価格列については、マトリックス「A2:C4」の3番目の列を参照しているため、最後の値を2から3に変更するだけです。 VLOOKUP example

外部参照

same Workbookのセルを参照するには、次のパターンを使用します。

<Sheetname>!<Cell>

例:

Table1!A1

different Workbookのセルを参照するには、次のパターンを使用します。

[<Workbook_name>]<Sheetname>!<Cell>

例:

[MyWorkbook]Table1!A1
10
das_weezul

他の何かを探しているときにこのスレッドを見たところ、それが超古いことを知っていますが、2セント追加したかったのです。

VLOOKUPは絶対に使用しないでください。これは、Excelで最もパフォーマンスの悪い数式の1つです。代わりにインデックス一致を使用してください。一致式の最後に-1または1がない限り、データを並べ替えなくても機能します(以下で詳しく説明します)。

link は適切な式を使用しています。

シート2の数式は次のようになります:= IF(A2 = ""、 ""、INDEX(Sheet1!B:B、MATCH($ A2、Sheet1!$ A:$ A、0)))

  • IF(A2 = ""、 ""は、A2が空白の場合、空白の値を返すことを意味します
  • INDEX(Sheet1!B:BはINDEX B:Bと言っています。ここでB:Bは返すデータです。IE名前の列。
  • Match(A2、は、名前を返したいIDであるA2に一致するように言っています。
  • Sheet1!A:Aは、A2を前のシートのID列に一致させたいと言っています
  • 、0))は、正確な値が必要であることを指定しています。 0はA2に完全一致を返すことを意味し、-1はA2以上の最小値を返すことを意味し、1はA2以下の最大値を返すことを意味します。 -1と1はソートする必要があることに注意してください。

Index/Match 式の詳細情報

その他のおもしろい事実:$は数式で絶対を意味します。したがって、数式を入力するときに$ B $ 1を指定すると、同じ値が保持されます。 $ B1を超える場合、Bは数式全体で同じままですが、入力を完了すると、行カウントとともに1が増加します。同様に、B $ 1を使用した場合、右側に埋めるとBが増加しますが、行1の参照は保持されます。

2番目のセクションでは間接の使用も含めました。間接的に行うことは、数式で別のセルのテキストを使用できるようにすることです。名前付き範囲sheet1!A:A = ID、sheet1!B:B = Name、およびsheet1!C:C = Priceを作成したので、列名を使用してまったく同じ数式を作成できますが、列見出しを使用しています検索基準を変更します。

幸運を!お役に立てれば。

6
Katina