『ボヘミアン・ラプソディ』はなぜ人々を魅了したのか >>

エクセル2003を使っているのですがひとつのシートの中で重複している箇所を削除する方法はあるのでしょうか?
ちなみに2007では重複を削除するコマンドを見たことがあるのですが2003にはないのでしょうか?
教えてくださいませ!!

このQ&Aに関連する最新のQ&A

A 回答 (3件)

[回答番号:No.1この回答への補足]へのコメント、



Sheet1
    A      B     C
1 顧客コード 名前     郵便番号
2 0070    安藤 優那  435-6092
3 0099    渡部 愛実  664-0098
4 0086    平野 美空  789-1234
5 0086    平野 美空  789-1234
6 0073    大野 ひなの 789-6546
7

「別の新しいシート」(例えば Sheet2)において、次の手順を実行してみてください。

1.[データ]→[フィルタ]→[フィルタオプションの設定]を実行
  →添付図の左画面が表示される
3.“指定した範囲”の左のボタンをチョーン
4.“リスト範囲”右のボックス内にマウスカーソルを置いて、Sheet1シート見出しをチョーン
5.範囲 A1:C6(データがない部分を含めて A1:C100 でもOK)をドラッグ指定
6.“抽出範囲”右のボックス内にマウスカーソルを置いて、(Sheet2 の)セル C2 をチョーン
7.“重複するレコードは無視する”にチェック入れ
8.[OK]をクリック

結果は次のようになるはずです。

Sheet2
    C      D     E
2 顧客コード 名前     郵便番号
3 0070    安藤 優那  435-6092
4 0099    渡部 愛実  664-0098
5 0086    平野 美空  789-1234
6 0073    大野 ひなの 789-6546
「エクセル2003 重複削除方法」の回答画像3
    • good
    • 1
この回答へのお礼

大変参考になりました。ありがとうございました。

お礼日時:2009/09/30 00:12

氏名や住所、電話番号など例えばこの3項目が一致している場合で重複がある場合を一つにして表示させるには初めに氏名から電話番号までの列を選択します。


その後に「データ」メニューから「フィルタオプションの設定」を選択します。
表示された画面で、「重複するレコードを無視する」にチェックを入れてOKします。
これで重複のデータは一つになって表示されますので、その画面を選択してコピーし、例えば他のシートに貼り付けをすればよいでしょう。
なお、操作がすんだあとは「データ」から「フィルタ」で「すべて表示」にすることでもとの表に戻ります。
    • good
    • 0
この回答へのお礼

大変参考になりました。ありがとうございました。

お礼日時:2009/09/30 00:13

[フィルタオプションの設定]で可能です。


具体的な方法(手順)が知りたければ、具体的なデータ例を示してください。

この回答への補足

購買履歴などを作成する際に顧客コード、氏名や住所などその他もろもろあるのですが、別のシートからフィルタを使って条件を絞り込んだものを別の新しいシートに貼り付け顧客コードのみかぶっているものは一つに表示をしたいのですが。

顧客コード名前   郵便番号
0070   安藤 優那   435-6092
0099   渡部 愛実   664-0098
0086   平野 美空   789-1234
0086   平野 美空   789-1234
0073   大野 ひなの   789-6546

たとえばこんな感じのときに平野 美空はひとつに表示させたいのですが

補足日時:2009/09/29 02:20
    • good
    • 1

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセル2003で重複するデータの数量をまとめる

エクセル2003です。縦に連続する同じ名前のデータの数量をまとめて合計したいのですがどうすればよいでしょうか?具体的には
データ |数量|
データA 2
データB 4
データA 1
データC 6
データB 3
こういった感じのデータを違うシートに貼り付けるなどして
データA 3
データB 7
データC 6
こういう状態にしたいのです。
アドバイスよろしくおねがいします☆

Aベストアンサー

方法1
シート2の空セルを選ぶ
データメニューの統合を開始する
シート1のAB列を追加する
左端列にチェックを入れてOKする

以上です。


方法2
表範囲を選び,データメニューのピボットテーブルレポートで集計させます。
難しい数式も何も使わずに,一気に集計結果が得られます。


方法3
もし,あなたが「集めるべきデータは データAとBとCの3種類だ」と確信を持って全てのデータを事前に用意できるなら
シート2にそれらの
データA
データB
データC
を羅列しておき,
=SUMIF(Sheet1!A:A,A1,Sheet2!B:B)
などの関数で,それぞれの集約値を求めることが出来ます。


方法4
べらぼうに面倒くさい数式を使えばデータABCを数式で抽出することも,やれば出来ます。
でもこういったマニアックな式は所詮遊びでしかないので,使わないことをお薦めします。
シート2のA1に
=INDEX(Sheet1!$A:$A,SMALL(IF(ISNUMBER(1/(FREQUENCY(MATCH(Sheet1!$A$1:$A$6,Sheet1!$A$1:$A$6,0),MATCH(Sheet1!$A$1:$A$6,Sheet1!$A$1:$A$6,0)))),INDEX(ROW(Sheet1!$A$1:$A$6),),9999),ROW(A1)))&""
B1に
=IF(A1="","",SUMIF(Sheet1!A:A,A1,Sheet1!B:B))

方法1
シート2の空セルを選ぶ
データメニューの統合を開始する
シート1のAB列を追加する
左端列にチェックを入れてOKする

以上です。


方法2
表範囲を選び,データメニューのピボットテーブルレポートで集計させます。
難しい数式も何も使わずに,一気に集計結果が得られます。


方法3
もし,あなたが「集めるべきデータは データAとBとCの3種類だ」と確信を持って全てのデータを事前に用意できるなら
シート2にそれらの
データA
データB
データC
を羅列しておき,
=SUMIF(Sheet1!A:A,A1,She...続きを読む

Q2つのシート間での重複データのチェック

Excelについて教えてください。
以下の2つのシートがあります。

Sheet1
すずき 03-0000-0000
やまだ 03-1111-1111
たなか 03-2222-2222

Sheet2
03-1111-1111
03-4444-4444
03-0000-0000
03-2222-2222

Sheet1には名称と電話番号、Sheet2には別所から抽出した電話番号のみのデータがあります。
Sheet1のデータの中からSheet2に電話番号があるものだけを知りたいのですが、たとえばSheet1の 各行のC列 に Sheet2に一致する番号があった場合は●等付けるにはどうすればよいでしょうか。

よろしくお願いします

Aベストアンサー

シート1のC列に式を入れます。
=IF(ISNA(VLOOKUP(B1,Sheet2!A:A,1,FALSE))=TRUE,"-","●")

【式の説明】
シート1のセルB1の値が、シート2のA列に、存在する場合は●を、存在しない場合は-をセット。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

QVBA RemoveDuplicatesが動かない

以下のマクロを実行しても動きません。
RemoveDuplicatesの行でエラーとなります。
メッセージ:アプリケーション定義またはオブジェクト定義のエラーです。
何が間違ってるのでしょう?

エクセル2013
Windows8

E列の重複を削除するマクロです。不要なWithを使っているのは、別マクロから切り出したものだからです。

Sub test()

Dim Colref As Long, LastRow As Long

With Worksheets("Sheet1")
Colref = 5
LastRow = Cells(Rows.Count, Colref).End(xlUp).Row
Range(.Cells(1, Colref), .Cells(LastRow, Colref)).RemoveDuplicates Columns:=CVar(Colref), Header:=xlNo

End With

End Sub

Aベストアンサー

> Range(.Cells(1, Colref), .Cells(LastRow, Colref)).RemoveDuplicates Columns:=CVar(Colref), Header:=xlNo

1列しか選択範囲してないのにそれの5列目を指定してるのでエラーになっています。
Columns:=は選択範囲の何列目かを指定しますから今回の場合はColumns:=1になります。

Qオートフィルタで抽出したデータの行を削除(VBAで記述)

Excel2000を利用しています。

VBAで、オートフィルタを利用した作業を記述したいと思っています。
データは一行目にタイトルが入っています。

オートフィルタで抽出したデータを
その行まるまる削除したいと思っています。
その時、タイトル行(1行目)を除いて
オートフィルタで抽出された行のみ選択して
削除する、という場合、どのように記述すればよいのでしょうか。
自分では全然分からないので
教えてください、よろしくお願い致します。

Aベストアンサー

#1の者です。操作を間違えて回答ボタンを押してしまいました。少し追加させてください。
このマクロは、最終列まですべての列にデーターが入力されていないとうまく動作しません。
myRange = Range(myCell).SpecialCells(xlCellTypeVisible).End(xlUp).Offset(2, 0).Address
マクロのこの部分は、タイトル行を除くデータの先頭行を取得するためのマクロです。もし、タイトル行が1行の場合は下記のように変更して下さい。
myRange = Range(myCell).SpecialCells(xlCellTypeVisible).End(xlUp).Offset(1, 0).Address

あなた様がVBAをご存知であることを前提として書いてあります。もし、このマクロを実行させる方法がわからない時・うまく動作しない場合は、ご遠慮なくお知らせ下さい。
私でよろしければ、あなた様のおやりになりたいことが実現するまでご一緒に考えていきたいと思います。

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む


人気Q&Aランキング