• ベストアンサー

EXCELで空白行を詰めるには

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 | +----+-------+-------+---- [注]表は等幅フォントで見てください。 以上よろしくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

方法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 A B 計 1011 xxxxx 2 1011 計 2 1012 yyyyy 2 1012 計 2 (空白) (空白) (空白) 計 総計 4 になるので計の行を右クリックで「表示しない」にする。 A,Bの列をコピーして別シートに値として貼り付け

kon3
質問者

お礼

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

kon3
質問者

補足

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

その他の回答 (3)

回答No.4

ちょっと手順が多いので面倒ですが、私の場合はこれで大丈夫でした。貴方様の場合も多分これでいけると思いますが、Officeのバージョンによっても機能や挙動の違いがありますので、念のため、該当シート全体をコピーしてから、以下を実行して頂けますか? 1.まず、空白行を削除します。 (1) A列全体を選択します。 (2) [編集]-[ジャンプ]-[セル選択]-[空白セル]をクリックして、[OK]します。 (3) 青く反転しているデータ行の上で右クリックして[削除]を選択します。 (4) [行全体]をクリックして、[OK]します。 2.次に重複行を削除します。 (1) 1行目の上に行を挿入して適当な見出しをつけます。(既に見出しがある場合は不要です) (2) 上記で記載した見出しを選択して、[データ]-[フィルタ]-[フィルタオプションの設定]を選択します。 (3) 行を特定できないなどのダイアログが表示された場合は、[OK]します。 (4) 全てのデータが青く反転して範囲選択されていることを確認してから[フィルタオプションの設定]ダイアログで[範囲選択内]と[重複するレコードは無視する]にチェックをつけて[OK]します。 (5) 2.(1)で適当につけた見出し行を削除します。 (6) 2.(1)で適当につけた見出し行を除いた全てのデータを範囲選択して、右クリックで[コピー]を選択します。 (7) 別の空のシートの適当な場所で右クリックで[貼り付け]を選択します。 もしうまくいったとして、これらの作業を何度か実行する必要がある場合は、[ツール]-[マクロ]-[新しいマクロの記録]を選択してから上記の操作を行うと、次回からはとても楽になると思います。

kon3
質問者

お礼

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

  • ThunderV2
  • ベストアンサー率58% (119/205)
回答No.2

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

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

安直ですが、並び替えを行いうと、空白行、重複行がグループ化になりますので、目視にて行削除する方法が簡単だと思います。 並び替えは、データ⇒並び替え⇒最優先されるキーをA列にして実行して下さい。 これ以外は、マクロになると思いますので、過去のレスを検索して下さい。

関連するQ&A

専門家に質問してみよう