A列のA2からA21に氏名、B列のB2からB21に住所が入力済です。A列で重複しているデータに色をつけて、さらに並び替えをしたいと思います。色は黄色、並び替えの設定は黄色で色を付けたセルがA2から順に表示するVBAを教えていただけませんでしょうか。またお手数でも列をB列、C列に変更した場合についても教えていただけませんでしょうか。VBAコードの貼り付けはできます。よろしくお願いします。

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

A 回答 (3件)

こんにちは!


一例です。

Sub test()
Dim i As Long
Range("A2:B21").Sort key1:=Cells(2, 1), order1:=xlAscending
Columns("A").Insert
For i = 2 To 21
If WorksheetFunction.CountIf(Columns("B"), Cells(i, "B")) > 1 Then
Range(Cells(i, "B"), Cells(i, "C")).Interior.ColorIndex = 6
Cells(i, "A") = i
Else
Cells(i, "A") = WorksheetFunction.CountA(Columns("B")) + i
End If
Next i
Range("A2:C21").Sort key1:=Cells(2, "A"), order1:=xlAscending
Columns("A").Delete (xlToLeft)
End Sub

こんな感じではどうでしょうか?
コード内にデータとは関係ない列番号「C」が入っていますが、気になれば最後の行
Columns("A").Delete (xlToLeft)
を削除してマクロを試してみてください。

参考になれば良いのですが・・・m(__)m
    • good
    • 1
この回答へのお礼

早速の回答ありがとうございました。詳細のコードを記載していだだき感謝です。記載していだだいたVBAをお手本にしてやってみます。ご指導ありがとうございました。

お礼日時:2011/04/26 11:54

VBAの一例です。


表の範囲を変えるなら、Range("A2:B21") のところを変更してください。
なお、以下のコードは、並び替えのため表の右となりの一列を作業列に使用してますので、表の右となりの一列は空白にして置いてください。

Sub Sample01()
  Dim Rng As Range, c As Range, c2 As Range
  Dim n As Long, i As Long
  Set Rng = Range("A2:B21").Columns
  For Each c In Rng(1).Cells
    n = 0
    For Each c2 In Rng(1).Cells
      If c.Value = c2.Value Then
        n = n + 1
        If n > 1 Then
          c.Resize(, 2).Interior.ColorIndex = 6
          c2.Resize(, 2).Interior.ColorIndex = 6
          i = i + 1
          If IsEmpty(c.Offset(, 2)) Then
            c.Offset(, 2) = i
          End If
          If IsEmpty(c2.Offset(, 2)) Then
            c2.Offset(, 2) = i
          End If
        End If
      End If
    Next c2
  Next c
  Rng.Resize(, 3).Sort Key1:=Rng(2).Offset(, 1).Cells(1), Order1:=xlAscending, Header:=xlNo
  Rng(2).Offset(, 1).ClearContents
End Sub
    • good
    • 0
この回答へのお礼

回答、誠にありがとうございました。詳細なコードを記載していただきお手数をおかけしました。コードを参考に勉強します。時間をかけてやってみます。

お礼日時:2011/04/26 11:50

あまり勉強もしないで丸投げしているようだ。


>列をB列、C列に変更した場合についても教えていただけませんでしょうか
など言っているレベルでは、現状では、VBAは無理でしょう。
VBAを使わないでも、条件付書式で出来るのでは。
A2:A10など範囲指定
書式ー条件付書式ー数式がー式は =COUNTIF($A$2:A2,A2)>1
書式を設定
これで重複する氏名で2番目以後の行に色をつけられる。

上記の操作をマクロの記録で取る方法もある。
ーー
条件付書式を離れて
下記は要素的にはマクロの記録を採れば判る。
(1)セルに色を着ける
(2)黄色とかの色指定
(3)並べ替え
 ただし重複チェックはエクセルの操作ではない。上記のように関数では出来る。これを関数を使わず、VBAプログラムでやるのは、VBAでも中級以上のレベルでしょう。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございました。条件書式を参考に勉強します。たいへんお手数をおかけしました。

お礼日時:2011/04/26 11:47

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Q【VBA】特定の範囲で同じ値を含むセルの色を変える

Excelのマクロに関して質問です。
特定の範囲(複数行と複数列)内で重複した値(セル内の最初の4文字が同じもの)を含むセルの色を変えたいです。
さらに、重複した値ごとに色分けをしたいです。例えば重複した値[1111]と重複した値[1112]の時では、前者が赤色で後者は青色、更に他の重複する値はまた別の色でというように、
要は、どのセルとセルが重複しているか色分けをして一目瞭然にしたいです。

※なお特定の範囲は以下の変数を利用します。
dataRow = Workbooks(booksName).Worksheets(sheetsName).Range("A2").End(xlDown).Row 'データの入っている最終行を取得
dataColum = Workbooks(booksName).Worksheets(sheetsName).Range("A1").End(xlToRight).Column 'データの入っている最終列を取得

どなたか知恵をお貸し下さい。よろしくお願いします。.

Aベストアンサー

No.1です!
補足とお礼欄の件について・・・

前回のコードに手を加えるだけで大丈夫だと思いますが、
ココとココ!を手直し!というと判らなくなると思いますので、
もう一度最初からコードを載せてみます。

Sub 重複色付け2()
Dim i As Long, endRow As Long, cnt As Long, c As Range, r As Range, myArea As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Set myArea = wS1.Cells(1, 1).CurrentRegion
Application.ScreenUpdating = False
With wS2
For Each c In myArea
If c <> "" Then
cnt = cnt + 1
.Cells(cnt, 2) = Left(c, 4)
End If
Next c
endRow = .Cells(Rows.Count, 2).End(xlUp).Row
With Range(wS2.Cells(1, 3), wS2.Cells(endRow, 3))
.Formula = "=COUNTIF(B:B,B1)"
.Value = .Value
End With
For i = endRow To 1 Step -1
If WorksheetFunction.CountIf(.Range("B:B"), .Cells(i, 2)) > 1 Or .Cells(i, 3) = 1 Then
.Cells(i, 2).Resize(1, 2).Delete shift:=xlUp
End If
Next i
For Each c In myArea
Set r = wS2.Range("B:B").Find(what:=Left(c, 4), LookIn:=xlValues, lookat:=xlWhole)
If Not r Is Nothing Then
c.Interior.Color = r.Offset(, -1).Interior.Color
End If
Next c
End With
myArea.SpecialCells(xlCellTypeBlanks).Interior.Color = xlNone
Application.ScreenUpdating = True
End Sub

今度はご希望通りの表示になれば良いのですが・・・m(_ _)m

No.1です!
補足とお礼欄の件について・・・

前回のコードに手を加えるだけで大丈夫だと思いますが、
ココとココ!を手直し!というと判らなくなると思いますので、
もう一度最初からコードを載せてみます。

Sub 重複色付け2()
Dim i As Long, endRow As Long, cnt As Long, c As Range, r As Range, myArea As Range
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Set myArea = wS1.Cells(1, 1).CurrentRegion
Application.ScreenUpdating = False
W...続きを読む

Qエクセル 重複するデータのセルに色をつけたい

過去の質問を調べてみたのですが なかなかみつからなかったので質問させていただきます。

A列に 10個の商品名のリストがあります。
C例~M列まで縦に50列 リストにある商品名も含んだ一覧があるのですが。10個の商品名にだけ セルに色をつけたいと思ってるのですが・・。
一覧の中には、同じ商品名も 何個かあります。

一個づつみていくのがとても大変なので
なにかいい方法はないでしょうか?
いい方法がありましたらよろしくお願いいたします。

Aベストアンサー

↓のページがご参考になるのでは?

エクセル技道場-別シートにある文字列との重複チェック
http://www2.odn.ne.jp/excel/waza/cformat.html#SEC21

参考URL:http://www2.odn.ne.jp/excel/waza/cformat.html#SEC21

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【エクセル】同じデータだった場合に、自動的にセルに色をつける方法

0 1 0 1 1 1 0 0 0

上記のように各セル(01011100)のデータが対象セル(0)と同じ数値の場合に、自動的に各セルの色を変える方法はありますか??

何度か試してみましたが、全くわかりません。
どなたかご教授ください。
よろしくお願いします。

Aベストアンサー

セル範囲をA1:I1、比較元セルをA1としてB1:I1範囲の同一セルに色付けすると解釈して回答します。
(1)B1:I1範囲を選択
(2)書式→条件付き書式
(3)「セルの値が」を選択→「次の値に等しい」→「=$A1」を入力
(4)書式→パターンタブで任意の色を選択→OK
※行単位に適用したい場合、B1:I1範囲選択して下方向にコピーして下さい。

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列に、存在する場合は●を、存在しない場合は-をセット。

QExcel VBAを使った重複行の抜き出しについて教えてください

以下のような2シートから、重複する「商品番号」のあるsheet1の行を抜き出して、別シートに書き出したいと思っております。

sheet1
 |  A   |  B   | C
-+--------+-------+-----
1|      |      |
-+--------+------+--------
2|商品番号|商品名|責任者
-+--------+------+--------
3|  123456|  ガム|山田太郎
-+--------+------+--------
4| 2345678| チョコ|田中花子
・・・

sheet2
 |  A   |  B   | C
-+--------+-------+-----
1|      |     |
-+--------+------+--------
2|商品番号|商品名|責任者
-+--------+------+--------
3| 3987624|     |
-+--------+------+--------
4| 193678|      |
・・・

そこでVBAを作成したのですが、例えば商品番号「222011001」の行を抜き出したいのに、「22011001」の行も一緒に抜き出してしまいます。
どこがいけないのか、教えて頂けないでしょうか。
作成したVBAは以下の通りです。
VBA初心者で本を見ながら作ったため、大変見にくくなっているかと思います。申し訳ありませんが、どなたかおわかりになる方がいらっしゃいましたら、どうぞ宜しくお願い致します。

Option Base 1
Option Explicit
Sub 重複データ抽出書き直し()
Dim シート(2) As Worksheet
Dim 比較列(2) As Integer
Dim 一致セル As Range
Dim 検索範囲 As Range
Dim i As Integer

Set シート(1) = Sheets("sheet1")
Set シート(2) = Sheets("sheet2")
比較列(1) = 1: 比較列(2) = 1

シート(2).Activate
ActiveCell.CurrentRegion.Select
Selection.Offset(1, 比較列(2) - 1) _
.Resize(Selection.Rows.Count - 1, 1) _
.Select
Set 検索範囲 = Selection

Sheets.Add After:=Sheets(Sheets.Count)
シート(1).Activate
ActiveCell.CurrentRegion.Select
Selection.Resize(1).Copy
With Sheets(Sheets.Count).Range("A1")
If Application.Version >= 9 Then
.PasteSpecial 8
End If
.PasteSpecial
End With

For i = 2 To Selection.Rows.Count
Set 一致セル = 検索範囲.Find(Selection.Cells(i, 比較列(1)).Value)

If Not 一致セル Is Nothing Then
Selection.Offset(i - 1).Resize(1) _
.Copy Sheets(Sheets.Count) _
.Range("A65536").End(xlUp) _
.Offset(1)
End If
Next i

Sheets(Sheets.Count).Activate
End Sub

以下のような2シートから、重複する「商品番号」のあるsheet1の行を抜き出して、別シートに書き出したいと思っております。

sheet1
 |  A   |  B   | C
-+--------+-------+-----
1|      |      |
-+--------+------+--------
2|商品番号|商品名|責任者
-+--------+------+--------
3|  123456|  ガム|山田太郎
-+--------+------+--------
4| 2345678| チョコ|田中花子
・・・

sheet2
 |  A   |  B   | C
-+--------+----...続きを読む

Aベストアンサー

こんにちは。

初心者とお書きになっていますが、他のプログラミング言語をおやりになっていますね。ただ、Excel VBAでは、使わないような方法がいくつもあります。VBAは、個人的なもので、なおかつ結果オーライですから、それに関しては、余計なお世話になってしまいますが、かなり入り組んだスキルが混じっている内容だと思います。特に、他人に見せる場合は、なるべく、オーソドックスなスタイルにしたほうがよいです。

個々の問題点ですが、

>例えば商品番号「222011001」の行を抜き出したいのに、「22011001」の行も一緒に抜き出してしまいます。

>一致セル = 検索範囲.Find(Selection.Cells(i, 比較列(1)).Value)

Find メソッドは、必要な引数は必ず入れてください。ワークシート(Excel)のメソッドは、VBAの概念とは違う仕様を持っていますので、使用する場合は気をつけたほうがよいです。デフォルトがデフォルトでないこともあります。

Set 一致セル = 検索範囲.Find(Selection.Cells(i, 比較列(1)).Value,)
   ↓
Set 一致セル = 検索範囲.Find(Selection.Cells(i, 比較列(1)).Value, , , xlWhole)

もしも、Excel97を意識しているなら、いっそ、Application.Match(検索値,範囲,0)やCountIfを使ったほうがよいと思います。

それから、オブジェクトは、一般的には、配列にはしないで、Collectionにします。しかし、数が少ない場合は、個々に変数に代入します。

サンプルコード:
以下は、新しくペーストされるシートの重複も避けるように作られています。(以下の、Application.ワークシート関数は、古いスタイルの書き方です)

Sub getDoubledItems()
  Dim Sh1 As Worksheet
  Dim Sh2 As Worksheet
  Dim NewSh As Worksheet
  Dim ret As Integer
  Dim i As Long
  Dim col As Integer
  
  Set Sh1 = Worksheets("Sheet1")
  Set Sh2 = Worksheets("Sheet2")
  Set NewSh = Worksheets.Add(After:=Sheets(Sheets.Count))
  
  col = Sh1.Range("A2").CurrentRegion.Columns.Count
  Sh1.Range("A2").Resize(, col).Copy NewSh.Range("A1")
  'ここにセル幅の調整用のコードを入れます。
  
  Application.ScreenUpdating = False
  With Sh1
    For i = 3 To .Range("A65536").End(xlUp).Row
      ret = Application.CountIf(Sh2.Columns(1), .Cells(i, 1).Value)
      If ret > 0 Then
        If Application.CountIf(NewSh.Columns(1), .Cells(i, 1).Value) = 0 Then
          .Cells(i, 1).Resize(, col).Copy NewSh.Range("A65536").End(xlUp).Offset(1)
        End If
      End If
    Next i
  End With
  Application.ScreenUpdating = True
  Set Sh1 = Nothing: Set Sh2 = Nothing: Set NewSh = Nothing
End Sub

こんにちは。

初心者とお書きになっていますが、他のプログラミング言語をおやりになっていますね。ただ、Excel VBAでは、使わないような方法がいくつもあります。VBAは、個人的なもので、なおかつ結果オーライですから、それに関しては、余計なお世話になってしまいますが、かなり入り組んだスキルが混じっている内容だと思います。特に、他人に見せる場合は、なるべく、オーソドックスなスタイルにしたほうがよいです。

個々の問題点ですが、

>例えば商品番号「222011001」の行を抜き出したいのに、「2...続きを読む

Qある範囲のセルから任意の値を検索して、その隣のセルの値を取得するという関数はありますか?

Excelの関数について質問します。
ある範囲のせるを検索して、その隣のセルの値を取得するという関数を探しています。
なければユーザー定義で作りたいと思っています。
VLOOKUP関数では一番左端が検索されますが、
それをある範囲まで拡張して、
その右隣の値を取得できるようにしたいのです。
どうかお知恵をお貸しください。

Aベストアンサー

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場合によっては、IFをかぶせてCOUNTIFで確認した方が良いかもしれません。
 ex. =IF(COUNTIF(A1:F200,X1)=1,【上記数式】,"えらー")

ちなみに、VBAでやるならこんな感じになるかと。

動作の概要
 【検査範囲】から【検査値】を探し、
 最初にHITしたセルについて、右隣のセルの値を返す。
 ex. =Sample(X1,A1:F200)

'--------------------------↓ココカラ↓--------------------------
Function Sample(ByVal 検査値 As Variant,ByVal 検査範囲 As Range)
 For Each セル In 検査範囲
  If セル = 検査値 Then Exit For
 Next セル
 Sample = セル.Offset(0, 1)
End Function
'--------------------------↑ココマデ↑--------------------------

いずれもExcel2003で動作確認済。
以上ご参考まで。

●X1セルの値を範囲A1:F200の中から探して、その右隣のセルの値を返す

 =OFFSET(A1,SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1))-1,SUMPRODUCT(COLUMN(A1:F200)*(A1:F200=X1)))

※最初のA1はワークシートの左上隅を示すものなので、検索範囲に関わらずA1固定
※SUMPRODUCT(ROW(A1:F200)*(A1:F200=X1)) ⇒ A1:F200で値がX1と一致するセルの行番号

>その「ある範囲」の中には検索したい値が入っているセルは1つしかありません。
というのが前提です。複数のセルがHITすると関係ないセルの値が返るので、
場...続きを読む

Q他シートのある列を検索して一致したらセルに色をつける方法

次のような処理がしたいのですが、Excelの数式に詳しい方、ご教示お願いします。

次の3つのシートが一つのBOOKにあるとします。
■Sheet1
1列目
AAAA
BBBB
CCCC


■Sheet2
1列目
BBBB
:

■Sheet3
1列目
AAAA
CCCC
:

Sheet1の一列目にあるデータについて、Sheet2あるいはSheet3の1列目を検索し一致するものがあれば、Sheet1の一列目の各セルに色をつけるという処理をしたいです。
できれば、Sheet2に一致した場合と、Sheet3に一致した場合とで、色を変えたいです。

よろしくお願いします。

Aベストアンサー

Sheet2のA列全体を選択した状態で、Ctrl+F3を押して「名前の定義」を開き、選択範囲に名前をつける。たとえば sss2 とか。
Sheet3のA列にも同様に sss3 とかの名前をつける。

Sheet1のA1を選択して、書式-条件付き書式で、
条件1
 「数式が」「=COUNTIF(sss2,A1)>0」
 Sheet2にあった場合の書式(色)を設定
条件2
 「数式が」「=COUNTIF(sss3,A1)>0」
 Sheet3にあった場合の書式(色)を設定
にすれば良いです。

Sheet2にもSheet3にもあった場合のことは、考えていません。

QEXCEL VBA で特定の文字に色をつけるマクロを書きたいのですが

コードはどのように書けばよいのでしょうか?

(1)そのようなコードを持っていらっしゃったらいただけないでしょうか?

(2)または、参考になるページがありましたら教えていただけないでしょうか?

現在勉強を始めたところですが、よろしくお願いいたします。

Aベストアンサー

セルの文字列の中に,
たとえば
aaaeeessseee
ssddd
dfg
weeeff
のセルの中の
eeeに赤色文字にする。
セル範囲Range("A1:C6")を対象にしてます。
ーーーー
Sub test01()
Dim cl As Range
For Each cl In Range("a1:c6")
r = InStr(cl, "eee")
If r <> 0 Then
cl.Characters(r, 3).Font.Color = vbRed
End If
Next
End Sub

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&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報