• ベストアンサー

Excel(エクセル)で重複されたセルを削除し、またそのセルの行ごと削除するには?

こんにちは。 添付された画像のように、A列には出身地がかかれてますが、 神奈川、群馬、ロシアについてはいくつもあります。 この時、神奈川、群馬、ロシアの行を重複しないよう1つの行にするため他の重複している行を削除し、 また削除する際、重複している行を比較し、年齢の高い方を消す方法はありますか? つまり画像のAから画像のBのようにしたいのですが、 何かスマートなやり方を教えて頂きたいです。 またこのデータは例ですので短い行ですが、実際は10000行以上にも続いている為、 できましたらそれを考慮した方法がございましたら、ありがたいです。 また当方Excel2003を主に使用し、Excel2007も持っています。 よろしくお願いいたします。

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

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.2

Excel2007であれば、  1.[データ]>[並べ替えとフィルタ]>[並べ替え] で、     最優先されるキー : A列(出身地)     次に優先されるキー : B列(年齢) , 降順    として並べ替え  2.[データ]>[データツール]>[重複の削除] で、     【A列(出身地)以外】のチェックを外して[OK] 以上ご参考まで。

linco600
質問者

補足

バッチリです! とても分かりやすく助かりました!! 工程も少なく、かつ初心者の私でも簡単にできました。 動画までつけて頂きありがとうございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

Fig-1 Sheet1     A    B     C     D 1  出身地   年齢 特技      仮 2  茨城     20 水泳       1 3  水戸     21 ドラム      2 4  ロシア    43 輪投げ      3 5  埼玉     52 モノマネ     4 6  神奈川    33 トナカイ     5 7  東京     25 早打ち      6 8  南アルプス  43 ムチ       7 9  神奈川    25 イングリッシュ  8 10 群馬     45 語学       9 11 群馬     64 剣道      10 12 ロシア    23 柔道      11 1.元の表のD列の上から順に 1、2、3、… と数値を入力。その結果   を Fig-1 に示す。2.Fig-1 を元のデータとするピボットテーブ   ルを作成。その結果を添付図の Fig-2 に示す。 3.当該ピボットテーブルの範囲 A4:D15 を[コピー]して、Sheet2 の   セル A1 に[値の貼り付け]を実行。その結果を Fig-3 に示す。 Fig-3 Sheet2             A      B     C     D 1  出身地   年齢 特技      合計 2  ロシア    23 柔道       11 3         43 輪投げ      3 4  茨城     20 水泳       1 5  群馬     45 語学       9 6         64 剣道       10 7  埼玉     52 モノマネ     4 8  神奈川    25 イングリッシュ  8 9         33 トナカイ     5 10 水戸     21 ドラム      2 11 東京     25 早打ち      6 12 南アルプス  43 ムチ       7 4.Fig-3 の1行目で[オートフィルタ]を設定した後で、添付図の   Fig-4 に示すようにA列で (空白セル) を選択 5.添付図の Fig-5 に示すように、抽出された全レコードを選択して   [行の削除]実行。 6.[オートフィルタ]を解除した結果を Fig-6 に示す。 Fig-6 Sheet2     A    B     C     D 1  出身地   年齢 特技      合計 2  ロシア    23 柔道       11 3  茨城     20 水泳       1 4  群馬     45 語学       9 5  埼玉     52 モノマネ     4 6  神奈川    25 イングリッシュ  8 7  水戸     21 ドラム      2 8  東京     25 早打ち      6 9  南アルプス  43 ムチ       7 7.D列を昇順にして Fig-6 を[並べ替え]た結果を Fig-7 に示す。 Fig-7     A    B     C     D 1  出身地   年齢 特技      合計 2  茨城     20 水泳       1 3  水戸     21 ドラム      2 4  埼玉     52 モノマネ     4 5  東京     25 早打ち      6 6  南アルプス  43 ムチ       7 7  神奈川    25 イングリッシュ  8 8  群馬     45 語学       9 9  ロシア    23 柔道       11 8.D列を削除

linco600
質問者

お礼

とても丁寧にありがとうございます! ぜひ参考にさせて頂きます。 ありがとうございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

エクセル2007で次のようにすればよいでしょう。 D2セルには次の式を入力し下方にオートフィルドラッグします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(D$1:D1)+1,"")) 次にA,B,C、D列を選択して「ホーム」タブから「並べ替えとフィルタ」を選び、「ユーザー設定の並べ替え」をクリックします。 「最優先されるキー」では「出身地」を、次に「レベルの追加」から「次に優先されるキー」で「年齢」を選択しいずれも「昇順」でOKします。 これらの操作が済んだ後で、D列を選択し「並べ替えとフィルタ」から「昇順」を選択します。並べ替えの範囲を広げるを選んでOKすればダブったデータで年齢が上の者が空白で下方の行に並びますのでD列で空白の行を選択してDeleteすればよいでしょう。

linco600
質問者

お礼

回答ありがとうございます! 関数についてはまだ勉強中でわからない所があるのですが、 とても勉強になります! 様々な並べ替えをする仕事についてますので、 参考にさせて頂きます。ありがとうございました。

関連するQ&A