プロが教えるわが家の防犯対策術!

WindowsXP Excel2000 です。

下の図の「表1」を「表2」の様にしたいのですが
Excelの基本操作だけで出来るでしょうか?

やりたい事は以下の通りです。
(1)空白行は削除する
(2)ダブっている行を削除する


(表1)
+====+=======+=======+====
| | A | B |・・
+====+=======+=======+====
| 1 | 1011 | xxxxx |
+----+-------+-------+----
| 2 | | |
+----+-------+-------+----
| 3 | | |
+----+-------+-------+----
| 4 | 1011 | xxxxx |
+----+-------+-------+----
| 5 | | |
+----+-------+-------+----
| 6 | 1012 | yyyyy |
+----+-------+-------+----
| 7 | | |
+----+-------+-------+----
| 8 | 1012 | yyyyy |
+----+-------+-------+----

↓ ↓ ↓

(表2)
+====+=======+=======+====
| | A | B |・・
+====+=======+=======+====
| 1 | 1011 | xxxxx |
+----+-------+-------+----
| 2 | 1012 | yyyyy |
+----+-------+-------+----

[注]表は等幅フォントで見てください。
以上よろしくお願いします。

A 回答 (4件)

方法1


1行目にタイトルを追加
A B
別の空いている列で
A
>0
と入力
「データ」「フィルタ」「フィルタオプションの設定」で
リスト範囲をA,B列
検索条件範囲を先ほどタイトルと条件を入れた2セルにして
「重複するレコードは無視する」にチェックしてOK
A B
1011 xxxxx
1012 yyyyy
の表示になるのでコピーして別のシートに貼り付ける

方法2
1行目にタイトルを追加
A B C
C2=COUNTIF($A$2:$A2,$A2)
として最終行までコピー、A,B,C列を選択して
「データ」「フィルタ」「オートフィルタ」
C1の▼を押して1を選択
A B C
1011 xxxxx 1
1012 yyyyy 1
の表示になるのでA,B列をコピーして別のシートに貼り付ける

方法3
1行目にタイトルを追加
A B
「データ」「ピボットテーブル」で行にA B、データにAを設定して完了
データの個数 : A
AB計
1011 xxxxx 2
1011 計2
1012 yyyyy 2
1012 計2
(空白)(空白)
(空白) 計
総計4
になるので計の行を右クリックで「表示しない」にする。
A,Bの列をコピーして別シートに値として貼り付け

この回答への補足

方法1を試してみました。重複データが無くなるので
これでOKなんですが、空白行を対象外とする方法が
いまいちわかりません。
「別の空いている列でA>0と入力」の意味ですが、
C1セルに"A>0"と入力し、「フィルタオプションの設定」画面で検索条件範囲(C)にC1セルを指定すると
いう事なのでしょうか?
よろしくお願いします。

補足日時:2005/06/07 15:00
    • good
    • 0
この回答へのお礼

Excelのヘルプを何度も見てやってみたら
出来ちゃいました。
A列の内容が数値である事を利用して空白行を
対象外データにしてしまうのですネ。
大変助かりました。ありがとうございます。

お礼日時:2005/06/08 14:22

ちょっと手順が多いので面倒ですが、私の場合はこれで大丈夫でした。

貴方様の場合も多分これでいけると思いますが、Officeのバージョンによっても機能や挙動の違いがありますので、念のため、該当シート全体をコピーしてから、以下を実行して頂けますか?

1.まず、空白行を削除します。
(1) A列全体を選択します。
(2) [編集]-[ジャンプ]-[セル選択]-[空白セル]をクリックして、[OK]します。
(3) 青く反転しているデータ行の上で右クリックして[削除]を選択します。
(4) [行全体]をクリックして、[OK]します。

2.次に重複行を削除します。
(1) 1行目の上に行を挿入して適当な見出しをつけます。(既に見出しがある場合は不要です)
(2) 上記で記載した見出しを選択して、[データ]-[フィルタ]-[フィルタオプションの設定]を選択します。
(3) 行を特定できないなどのダイアログが表示された場合は、[OK]します。
(4) 全てのデータが青く反転して範囲選択されていることを確認してから[フィルタオプションの設定]ダイアログで[範囲選択内]と[重複するレコードは無視する]にチェックをつけて[OK]します。
(5) 2.(1)で適当につけた見出し行を削除します。
(6) 2.(1)で適当につけた見出し行を除いた全てのデータを範囲選択して、右クリックで[コピー]を選択します。
(7) 別の空のシートの適当な場所で右クリックで[貼り付け]を選択します。

もしうまくいったとして、これらの作業を何度か実行する必要がある場合は、[ツール]-[マクロ]-[新しいマクロの記録]を選択してから上記の操作を行うと、次回からはとても楽になると思います。
    • good
    • 1
この回答へのお礼

[編集]-[ジャンプ]-[セル選択]-[空白セル]という
のは知っていましたが、そこで「削除」とは
目からウロコでした。
どうもありがとうございました。
大変参考になりました。

お礼日時:2005/06/08 13:49

こんにちは。


空白行の削除は、データのフィルタのオートフィルタを
設定し、空白行を選択して結果を行削除で可能です。

ダブってる行の判断ですが、EXACT関数使えば可能です。
但し、ソートされてないときちんとした結果が求められません。
例)=EXACT(B2,B1)で結果がTRUEならダブり。
これも、結果が出てからオートフィルタで「TRUE
」を
選択して行削除で消せます。
但し、質問の表では、1011に対してxxxxxしか入力されて
いませんが、1011でxxyxxなんてデータはダブりと見なさない
場合は、ダブっているか判断するためのキーが必要です。
CONCATANATE関数でも使用してキーを作った方がいいですね。
例)=CONCATENATE(A2,B2) 1011xxxxx となります。
この結果をキーとして、EXACT関数で比較させてみてください。
    • good
    • 0

安直ですが、並び替えを行いうと、空白行、重複行がグループ化になりますので、目視にて行削除する方法が簡単だと思います。



並び替えは、データ⇒並び替え⇒最優先されるキーをA列にして実行して下さい。

これ以外は、マクロになると思いますので、過去のレスを検索して下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!