• ベストアンサー

エクセルで関数を使い比較対照なしの項目を表示

Sheet1に 場所  出張回数 東京   2 京都   5 名古屋  3 仙台   4 Sheet2に 場所  出張回数 京都   3 東京   4 仙台   10 札幌   5 名古屋  1 大阪   7 というリストがあるとしてSheet1とSheet2の”場所” を比較して、Sheet1のリストにない札幌と大阪の データを任意のセルに比較対照無しの場所として 比較対象無し  札幌 5 比較対照無し  大阪 7 というように、関数を使って抽出したいのですが どのような方法がありますでしょうか?

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 他の方同様、場所がA列、出張回数がB列で、1行目がタイトルで2行目からデータがあるとします。 Sheet2のD列とE列に表示させるとします。 D1に、 =IF(SUMPRODUCT((COUNTIF(Sheet1!$A$2:$A$10,$A$2:$A$10)=0)*(LEN($A$2:$A$10)>0))<ROW(A1),"",INDEX(A:A,SMALL(IF(COUNTIF(Sheet1!$A$2:$A$10,$A$2:$A$10)=0,ROW($A$2:$A$10)),ROW(A1)))) と入力して、[Ctrl]と[Shift]を押しながら[Enter]を押して確定します。 (数式の両端に「{}」が付いて、配列数式になります。) 次にE1に、 =IF(LEN(D1),VLOOKUP(D1,$A$2:$B$10,2,FALSE),"") と入力します。 そうしたら、D1:E1を下の行へコピーします。 なお、データ範囲は適宜変更して下さい。 また、D1に入力する数式の中にある2箇所の、 「ROW(A1)」 は、この数式をD1以外に入力する場合でも、「A1」のまま変更しないで下さい。

mousdas
質問者

お礼

お礼が遅れまして大変失礼いたしました。 ご回答頂きましてありがとうございます。 皆様のご協力で問題を解決することが出来ました^^ ありがとうございました!!

その他の回答 (2)

回答No.2

こんばんは。 Sheet1、Sheet2 ともに 「場所」が A列、「出張回数」が B列とします。 * 作業列を使う方法です。 作業列は Sheet2 のどの列でもかまいません。 ここでは例として Sheet2 の C列を使います。 Sheet1、Sheet2 のデータが見出し行を除いて、 ともに A2:B50 の範囲内にあるとすれば、 Sheet2 の C2に↓ ---------------------------------------------------------- =IF(A2="","",IF(COUNTIF(Sheet1!$A$2:$A$50,A2),"",ROW(A1))) ---------------------------------------------------------- 以下、データのある行までオートフィルでコピー 「比較対照無しの場所」の抽出を Sheet1 の D2以下 とすれば、 Sheet1 の D2 に↓ ---------------------------------------------------------- =IF(COUNT(Sheet2!$C:$C)<ROW(A1),"",INDEX(Sheet2!$A$2:$B$50,SMALL(Sheet2!$C:$C,ROW(A1)),COLUMN(A1))) ---------------------------------------------------------- ↑の数式を そのまま右の E2 にコピー D2、E2 の数式を下に必要分コピーしてください。 D2以下に「比較対照無しの場所」、 E2以下に「出張回数」が表示されます。 Sheet2 の作業列に C列以外を使う場合は 上の数式の $C:$C の部分(2ヶ所)をその列記号に書き換えてください。 データ範囲、セル位置は実際の表に合わせて変更してください。 作業列が目障りなら非表示にしてください。

mousdas
質問者

お礼

お礼が遅れまして大変失礼いたしました。 ご回答頂きましてありがとうございます。 皆様のご協力で問題を解決することが出来ました^^ ありがとうございました!!

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.1

Sheet1、Sheet2とも、場所がA列、出張回数がB列として Sheet2の 京都 3 の横(C2)に =IF(ISERROR(VLOOKUP(A2,Sheet1!A:B,2,0)),"比較なし",VLOOKUP(A2,Sheet1!A:B,2,0)) と入れて下にコピー ではダメ? Sheet1にあってSheet2に無いものもチェックが必要なら、Sheet1側でも同様にします。

mousdas
質問者

お礼

お礼が遅れまして大変失礼いたしました。 ご回答頂きましてありがとうございます。 皆様のご協力で問題を解決することが出来ました^^ ありがとうございました!!

関連するQ&A