• ベストアンサー

関連付ける?結び付ける?

どう説明してよいのか そういう機能があるのかさえ分からないので、画像を添付しました。 1000品目ほどある商品の在庫場所の管理で使う表です。 1年に1回、棚卸の関係で使用するものです。 画像で理解できない部分があれば回答いたしますのでよろしくお願いいたします

この投稿のマルチメディアは削除されているためご覧いただけません。

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 御質問内容は 「シートAのリストとシートBのリストという2つのリストが最初から存在している状態で、新たにシートCのリストを作成するにはどうすれば良いのか?」 と考えれば宜しいのでしょうか?  それでしたら、以下の様な方法となります。  今仮に、シートA、シートB、シートCの何れのリストにおいても「品番」と入力されているセルはA1セルであるものとします。  まずシートCのA2セルに次の様な関数を入力して下さい。 =IF(INDEX(シートA!$A:$D,ROW(),COLUMNS($A:A))="","",INDEX(シートA!$A:$D,ROW(),COLUMNS($A:A)))  次に、シートCのA2セルをコピーして、シートCのB2とD2セルに貼り付けて下さい。  次に、シートCのC2セルに次の様な関数を入力して下さい。 =IF(ISERROR(1/(VLOOKUP(INDEX($A:$A,ROW()),シートB!$A:$C,3,FALSE)<>"")),"",VLOOKUP(INDEX($A:$A,ROW()),シートB!$A:$C,3,FALSE))  次に、シートCのA2~D2のセル範囲をまとめてコピーして、A~D列の3行目以下に貼り付けて下さい。  それでシートCに御希望のリストが自動的に表示される様になります。

その他の回答 (2)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 尚、単純にVLOOKUPの結果がエラーとなった場合のみ""を表示させる様な関数としてしまいますと、シートAのリストのコード欄に「シートBの価格欄が空欄となっているコード」が入力されていた場合に、シートCのリストの価格欄は空欄とはならずに¥0が表示されてしまいますので、 IF(ISERROR(1/(VLOOKUP(INDEX($A:$A,ROW()),シートB!$A:$C,3,FALSE)<>"")),"", 或いは IF(ISERROR(1/(VLOOKUP(A2シートB!$A:$C,3,FALSE)<>"")),"", 等の様にする事で、シートBの価格欄が空欄の場合と¥0の場合の区別がつく様にする必要があります。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

シート1のABCD列に前回のリスト、シート2のABC列にシステム出力があるとして 要するにシート2のC列をシート1のC列に、品番を手掛かりに嵌めこみたいという事なら 手順: シート1のABCD列をコピーしてシート3のA1に貼り付ける C2を =IFERROR(VLOOKUP(A2,Sheet2!A:C,3,FALSE),"") と書き換え、以下コピーして価格を更新する C列をコピー、その場で形式を選んで貼り付けの「値」で貼り付けて値化する 以上です。 ご相談では ・シートAにあったのにシートBで出力されていない品目の扱い ・シートBで初めて現れる品目の扱い ・ご利用のエクセルのバージョンや具体的なレイアウト などのご説明が不足しています。 必要に応じて更に詳しい状況を書き添えて、新しいご相談として投稿し直してみて下さい。

関連するQ&A

専門家に質問してみよう