• ベストアンサー

エクセルと検索関数について

エクセルの関数を教えてください。 Sheet1にA社の商品がありA1に商品コード A2商品名 A3数量。 同じくB社Seet2にA1に商品コード A2商品名 A3数量。 A社にあってB社にない商品だけをSheet3に商品コードと商品名と数量を抽出したいのですが、 検索は商品コードでお願いします。 何回か挑戦したのですができません。 仕事で使いたいのでお手数ですがよろしくお願いします。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.1

貴方の添付図は見辛くて役に立ちません! 添付図参照 Sheet3!E2: =COUNTIF(Sheet2!A:A,Sheet1!A2)=0 Sheet3!E1: このセルは必ず空白のままにしておくこと! 必ず Sheet3 をアクティブにして、次の[フィルタオプションの設定]を実行 抽出先    → “指定した範囲” リスト範囲  → Sheet1!$A:$C 検索条件範囲 → $E$1:$E$2 抽出範囲   → $A$1:$C$1 簡単そうに見えるけど、「何回か挑戦」しても成功しないかも。 再質問する際は、何処が理解できなかったか、具体的に書いてネ。

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

No2の回答の訂正です。 添付した画像のSheet1とSheet2のデータが逆になっていました(数式自体は間違えていない)。 提示した数式は比較的計算負荷の高い配列数式ですので、必要以上にデータ範囲を大きくしたり、入力する数式数が多くなると、シートの動きが重くなりますので注意してください。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

添付画像のようなレイアウトなら(Sheet1とSheet2が100行以内の場合)、Sheet3のA2セルに以下の式を入力して右方向に3つ下方向に適当数オートフィルして(必要最低限オートフィルすること)、セルの書式設定で表示形式をユーザー定義にして「0;;;@」のように設定してみてください。 =INDEX(Sheet1!A:A,SMALL(INDEX(ISNUMBER(MATCH(Sheet1!$A$2:$A$100&"",Sheet2!$A$3:$A$100&"",0))*1000+ROW($2:$100),),ROW(1:1)))

関連するQ&A