![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
エクセルの重複セルの削除において、通常、条件が一つの場合は出来るのですが、複数セルの組み合わせの場合、どのようにすればいいでしょうか?
例えば、下記のように項目が並んでいるとします
A B C D
1 メーカー 車種
2 トヨタ クラウン
3 トヨタ アルファード
4 トヨタ カローラ
5 トヨタ クラウン
6 ホンダ シビック
8 ホンダ オデッセイ
9 ホンダ アコード
10 日産 サニー
11 トヨタ クラウン
12 日産 スカイライン
13 日産 セドリック
14 ホンダ シビック
↓ ↓
このような配列でデーター項目セルが1万ほどあります。
例えば、このうちメーカーがトヨタで車種がクラウン(A2+B2)
の組み合わせの重複を見つけ、重複行を削除するにはどのようにすればよいでしょうか?
メーカーだけの重複を見つけ、重複行の削除をするには
いつもは=IF(COUNTIF($A$2:A2)>1,NA(),"")のような方法でNA()を返し、ジャンプ→エラー値で一括削除しています。
このような2つの組み合わせの場合、どのような式を立てれば良いでしょうか?教えていただけないでしょうか?
No.5ベストアンサー
- 回答日時:
(1)VBAを使う
(2)SortしてVBAを使う
方法がありますが、略
(3)A、B列を結合した文字列をC列に作りそこで関数で重複しないものだけに連番を振る。後はimogasi方式で、別シートなどに抜き出しする。(imogasi方式は、私の過去の回答例に沢山有ります)
「A、B列を結合した文字列をC列に作る」ときに、A列の最高文字数を見繕い、もしそれが10桁とするなら、
=A1&REPT( " ",10-LEN(A1))&B1
のようにするのがお勧めです。
連番は
A2:A7が
A列 B列(関数式結果)
aa1
bb2
aa
cc3
bb
dd4
の場合
B2には=IF(COUNTIF($A$2:A2,A2)=1,MAX($B$1:B1)+1,"")
と入れてB7まで式を複写します。
この1,2,3,4を頼りにSheet2の第1,2,3,4行にSheet1のデータを持ってきます。
(4)ピボットテーブルも使えるかも
コード1コード2計数
aax1
bby2
aax3
ccc4
のようなデータに対し
データの個数 / 計数
コード1コード2合計
aax2
aa 合計2
bby1
bb 合計1
ccc1
cc 合計1
総計4
のような表が即座にできます。
ピボットの操作の「レイアウト」の指定のところで
「行」にコード1とコード2をドラッグし、「データ」には「データの個数」をドラッグします。
お礼が遅れてすみませんでした。複雑な条件になると分かりにくいので参考になりました。
自分でやってみて、検証してみます。有難うございました。
No.4
- 回答日時:
[フィルタオプションの設定]の“重複するレコードは無視する”機能を使うのが簡単かと。
1万行だと時間が掛かりそうだけど、その間は珈琲でも飲んでおけば好い。(^_^)
No.3
- 回答日時:
◆メーカが違って同じ車種は無いのではないでしょうか!
◆C列を作業列にして
C2=COUNTIF($B$2:B2,B2)
◆フィルタで、C列の「1」を抽出してください
No.2
- 回答日時:
すご~く、どんくさい方法ですが、恥を忍んで紹介します。
・A列=メーカー、B列=車種、とします。
・「A列~●列(データが入っている最後の列)」を対象に「データ」「並び替え」にて「優先されるキー」を「列:A・昇順」「列:B・昇順」「ほか・なし」とし、ソートします。
・「●の次の列」の、例えば2行目に「=IF(AND(A2=A1,B2=B1),"*","")」を入力し、全行にコピーします。すると重複している行には"*"が表示されます(重複が始まる最初の行には"*"が表示されません)。
・「●の次の列」で、「コピー」「形式を選択して貼り付け」で「値」をチェックし貼り付けます。これで「=IF(AND(A2=A1,B2=B1),"*","")」は全て"*"かブランクになります。
・「A列~●の次の列」で「データ」「並び替え」にて「優先されるキー」を「列:●の次・降順」とし、ソートします。
・1行目からず~と「●の次の列」に"*"が入った行が続きます。
・"*"が入った行を全て削除します。
・これでA列・B列が重複した行はなくなります。
超どんくさい方法で恐縮ですが、もしお気に召せば、お試し下さい。
No.1
- 回答日時:
A列データとB列データを結合した作業列を使って
検索すればよろしいかと
C D
=CONCATENATE(A2,B2) =IF(COUNTIF($C$2:C2,C2)>1,NA(),"")
1万行までコピー
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) 重複しているか否かをソートせずに判断する方法ありますか? 2 2022/07/06 21:16
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて 重複したものがあれば行を削除するとい 1 2023/02/27 18:49
- Excel(エクセル) 半角ハイフンを除いた重複に色を付ける数式について 5 2022/09/08 20:43
- Excel(エクセル) 関数について 1 2022/10/14 11:55
- 国産車 日産ならば即納可能? 6 2022/11/12 19:39
- Visual Basic(VBA) RemoveDuplicatesメソッドについて教えてください。 シート1にシート2から値をもってく 1 2023/02/28 22:43
- Excel(エクセル) エクセル 可視セル部の数値の抜き出し方法 7 2022/05/14 13:49
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
エクセルで重複しない組み合わせ出力方法
Excel(エクセル)
-
【エクセル】2列間で、同じ組み合わせのものを抽出したい。
Excel(エクセル)
-
Excelでの全通りの組み合わせ出力方法(文字列)
Excel(エクセル)
-
-
4
エクセルでnCr (組み合わせ)の作成方法
Excel(エクセル)
-
5
エクセルで重複しない組み合わせの出し方
Excel(エクセル)
-
6
Excelですべての組合せ(重複組合せ)を出力するには?
Visual Basic(VBA)
-
7
重複順列
数学
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
エクセルの数式バーのフォント...
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
Excelに詳しい方! B列が「日...
-
西暦や和暦の表示をyyyymmdd表...
-
Excelで50個のセルに同じ文字を...
-
Excelの数式について教えてくだ...
-
Excel VBAで全ての矢印を赤色に...
-
エクセル関数を使って
-
祝日と土曜、日曜の合計をカウ...
-
xlsxファイルを保存する際にPDF...
-
Excelについて
-
エクセルVBA、別ブックへ転記す...
-
エクセルで「ページレイアウト...
-
2列に入っているデータを1列...
-
【ExcelVBA】名前を付けて保存→...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報