• ベストアンサー

集合の差を列挙する方法

EXCELを用いて商品名、商品番号が2列に書かれている中から、特定の商品番号の列の商品名以外の商品名を取り出し、列挙する方法を教えてください。例えば、  商品名|商品番号1|商品番号2   イ  |  10   | 10   ロ  |  11   | 12   ハ  |  12   |   ニ  |  13   | とあるとき、番号1から番号2以外をとりだすとすると  結果  ロ  ニ と出力する方法です。分かりづらくてすみませんが、よろしくお願いします。

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

  • ベストアンサー
  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

A列が商品名、B列が商品番号1、C列が商品番号2とした場合で結果をD列に求めると仮定します。 D2セルに=IF(ISERROR(VLOOKUP(B2,C:C,1,0)),A2,"")を入力して、オートフィルでコピー 結果はとびとびになりますが、オートフィルタで空白セル以外を選択して、縮めて下さい。

I-T-U
質問者

お礼

分かりやすい方法をありがとうございました。 望む結果が得られました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#204879
noname#204879
回答No.2

「分かりづらくてすみません」と断っておられるのに恐縮なのですが… 「番号1から番号2以外をとりだすとすると」ロとニになるのがどうしても理解できません。理由を教えてください。

I-T-U
質問者

お礼

「商品番号1の列」の番号のうち、「商品番号2の列」にある番号以外の番号の商品名を取り出してもらう方法を求めていました。二列目と三列目は離れていると見てもらいたかったのです。 ご指摘ありがとうございました。

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

上記がA1:C5の範囲として D2=IF(ISNA(MATCH(B2,OFFSET($C$2,0,0,COUNT($C$2:$C$5)),0)),ROW()) これで存在する行はFALSE、存在しない行は行数が表示されます。 結果の欄は =IF(ROW(A1)<=COUNT($D$2:$D$5),INDEX($A$2:$A$5,SMALL($D$2:$D$5,ROW(A1))-1),"") を下方にコピーしてください。

I-T-U
質問者

お礼

ありがとうございました。 参考にさせていただきました。

すると、全ての回答が全文表示されます。

関連するQ&A