同じ数字を3個~4個使用している重複行の塗り潰し

このQ&Aのポイント
  • 質問者は、エクセルの特定の行において同じ数字を3個~4個使用している重複行を黄色で塗りつぶしたいとしています。
  • エクセルの特定の行には、1から31までの数字が第一数字から第五数字まで順に並んでおり、一行ごとに同じ数字の重複が3個~4個ある場合、その行を黄色で塗りつぶす方法について質問しています。
  • 添付図の結果として、A行とG行、B行とH行、C行とI行、D行とJ行、M行とQ行、N行とS行、O行とT行の行が黄色で塗りつぶされることになると述べています。
回答を見る
  • ベストアンサー

同じ数字を3個~4個使用している重複行の塗り潰し

いつもお世話になっております。 ご存じの方がお見えでしたら回答をよろしくお願い致します。 【質問】  添付図の様にA行~T行の第一数字から第五数字まで1から31の数字が重複して 入っています。(1行だけで見れば重複はしておらず、第一数字から昇順に第五数 字まで並んでいます。)初めにA行からB行~T行を1行ずつ見ていき、  A行の5つの数字のうち3個~4個同じ数字を使用している行があればどちらの行  の数字も黄色に塗り潰す、次にB行からC行~T行を1行ずつ見ていき・・・  と、最後はS行からT行を見るまでを繰り返し、5つの数字のうち3個~4個  同じ数字を使用している行があればどちらの行の数字も黄色に塗りつぶす方法が  知りたいです。  ◎添付図の結果として黄色に塗り潰される行は   (1)A行とG行・・・2、7、19、23が重複   (2)B行とH行・・・3、6、14,22が重複   (3)C行とI行・・・4,15、17,21が重複   (4)D行とJ行・・・8、9、18、25が重複   (5)M行とQ行・・・12,14、23,28が重複   (6)N行とS行・・・5,19,31が重複   (7)O行とT行・・・1,6,21が重複 【注意事項】   ・使用するエクセルは2016です。   ・A行~T行に入る数字は毎回異なります。    但し使用数字は1~31で、1行でみれば重複無しで左から昇順です。   ・3個~4個の数字が重複する行が存在しないことはありません。 以上、よろしくお願いします。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (713/1473)
回答No.2

このプログラムでできますが、どの行が重複するか判りません。 (1)をコメントにして(2)のコメントを外してみて下さい。面白いですよ。 (3)のコメントを外すと、G列に一致する列が出力されます。 ' Option Explicit ' Sub Macro1() '   Dim Row1 As Long   Dim Row2 As Long   Dim Count As Integer   Dim Same1(2 To 6) As Boolean   Dim Same2(2 To 6) As Boolean   Dim Col As Integer   Dim What As Integer   Dim Find As Range '   Cells.Interior.Pattern = xlNone '   For Row1 = 2 To [B1].End(xlDown).Row '     For Row2 = Row1 + 1 To [B1].End(xlDown).Row       Count = 0       Erase Same1       Erase Same2 '       For Col = 2 To 6         What = Cells(Row1, Col)         Set Find = Range("B" & Row2, "F" & Row2). _           Find(What, LookIn:=xlValues, LookAt:=xlWhole) '         If Not Find Is Nothing Then           Count = Count + 1           Same1(Col) = True           Same2(Find.Column) = True         End If       Next Col '       If Count = 3 Or Count = 4 Then '         For Col = 2 To 6 '           If Same1(Col) Then             Cells(Row1, Col).Interior.Color = vbYellow '(1) '            Cells(Row1, Col).Interior.ColorIndex = Row1 + 1'(2)           End If '           If Same2(Col) Then             Cells(Row2, Col).Interior.Color = vbYellow '(1) '            Cells(Row2, Col).Interior.ColorIndex = Row1 + 1’(2)           End If         Next Col '        Cells(Row1, "G") = Row2 '(3) '        Cells(Row2, "G") = Row1 '(3)       End If     Next Row2   Next Row1 End Sub

sazanami0422
質問者

お礼

回答いただきありがとうございます。 同じ黄色だけだとどれと重複してるかわかりにくくなるため色分け と一致行を出すという案は思いつきませんでした。 カラフル行で区別しやすくなりました。 ありがとうございました。

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

マクロを作ってみました。ループのお化けです。工夫できそう? 結果は添付図と同じになりました。当方、win10、Excel2010です。 Sub paintCell()  Dim num(20, 31) As Integer    '// 数値  Dim r As Integer, r2 As Integer '// 行カウンタ  Dim c As Integer, c2 As Integer, c3 As Integer '// 列カウンタ  Dim n As Integer         '// 数字  Dim Flg As Integer        '// 一致フラグ(カウンタ)    With Range("A1")   '// 値を取り込む   For r = 1 To 20    For c = 1 To 5     n = .Offset(r, c)     num(r, n) = 1    Next   Next     For r = 1 To 19    '// 一致のカウント    For r2 = r + 1 To 20     Flg = 0     For c = 1 To 31      If num(r, c) = 1 And num(r2, c) = 1 Then       Flg = Flg + 1      End If     Next          '// セルを塗る     If Flg = 3 Or Flg = 4 Then      For c2 = 1 To 5       For c3 = 1 To 5        If .Offset(r, c2) = .Offset(r2, c3) Then         .Offset(r, c2).Interior.ColorIndex = 6         .Offset(r2, c3).Interior.ColorIndex = 6        End If       Next      Next     End If    Next   Next  End With End Sub

sazanami0422
質問者

お礼

早速のご回答いただきありがとうございます。 やってみて、やりたい結果になりました。 ソースにコメントもついて頂き、改造もしやすいです。 ありがとうございました。

関連するQ&A

  • 同じ数字を2個使用している重複行の数字の出力方法3

    いつも大変お世話になっております。 どなたかご存じの方がお見えでしたら回答頂けると幸いです。 【質問】 2020/02/29 15:35に質問No.9718103として 『同じ数字を2個使用している重複行の数字の出力方法2』という質問を させて頂き、SI299792様から回答を頂きました。 動作としては添付図のとおり5列×20行の数字の中から、 2個の数字が重複していたら黄色でセルを塗り潰し、 重複する行に重複した行を実際に重複した2個の数字をH列~AA列に書き出し、 重複数字1~重複数字10の2列×20行の数字をAB列・AC列に縦に並べた後、 昇順に並び変えて重複数字を削除し、重複数字1~重複数字10の2列×20行の数字をAE列のみに縦に並べた後、昇順に並び変えて重複数字を削除する。 ここから今回の質問です。 (1)AB列・AC列に縦に並べた後、昇順に並び変えて重複数字を削除されるはずですが、添付図のとおりAB19・AC19、AB21・AC21に「22 30」が残っています。 この重複を削除するにはどうすればよいですか? 以上、よろしくお願いします。

  • 同じ数字を2個使用している重複行の数字の出力方法2

    いつも大変お世話になっております。 どなたかご存じの方がお見えでしたら回答頂けると幸いです。 【質問】 2019/12/20 22:51に質問No.9692415として 『同じ数字を2個使用している重複行の数字の出力方法』という質問をさせて頂き、 nishi6様から回答を頂きました。 動作としては添付図のとおり5列×20行の数字の中から、2個の数字が重複していたら黄色でセルを塗り潰し、重複する行に重複した行を、実際に重複した2個の数字をH列~AA列に書き出します。)この時の質問から発展して、『同じ数字を2個使用している重複行の数字の出力方法2』が今回の質問です。 具体的には下記2つです。 (1)重複数字1~重複数字10の2列×20行の数字をAB列・AC列に縦に並べた後、昇順に並び変えて重複数字を削除する。 (2)重複数字1~重複数字10の2列×20行の数字をAE列のみに縦に並べた後、  昇順に並び変えて重複数字を削除する。(又は、(1)で重複数字が削除された数字をAE列に1列に並べた後、昇順に並び変えて重複数字を削除する。) 以上、よろしくお願いします。

  • 重複数字の塗潰しとその結果をまとめるには?

    いつもお世話になっております。 ご回答頂けたらありがたいです。 添付図の様に6×7のセルが5つあります。 1~37迄の数字が重複有りで入っています。 重複が2個、3個、4個あれば、黄色、緑色、赤色で その数字のセルを塗潰し、最後にまとめとして、 実際に重複した数字を右側に左から昇順で並べるにはどうすればよいですか? 尚、最大重複は4個迄とします。 よろしくお願いします。

  • 同じ数字を3個~4個使用している重複行の塗り潰し2

    いつもお世話になっております。 ご存じの方がお見えでしたら回答をよろしくお願い致します。 【質問】  2019/09/29 22:13 に質問No.9662014 として、  『同じ数字を3個~4個使用している重複行の塗り潰し』という質問をさせて  頂きました。その時に、SI299792様とnishi6様から回答を頂きました。  この時の質問は5列×20行でしたが、  今回は添付図のとおり、7列×30行に増やした場合の改造の仕方を  知りたく質問させていただきます。その他条件は前回の質問(質問No.9662014  と同じです。 以上、よろしくお願いします。  

  • 同じ数字を2個使用している重複行の数字の出力方法

    いつもお世話になっております。 ご存じの方がお見えでしたら回答をよろしくお願い致します。 【質問】  2019/12/08 22:31 に質問No.9687909 として  『同じ数字を3個~4個使用している重複行の塗り潰し2』という質問をさせて  頂き、SI299792様とnishi6様から回答を頂きました。  この時の質問から発展して、『同じ数字を2個使用している重複行の数字の出力  方法』が今回の質問です。添付図のとおり、5列×20行に絞り、2個の数字が  重複していたら黄色でセルを塗り潰し、”重複している行”をG列に書き出す事は  前回の回答から対応できましたが、実際にどの2個の数字が重複しているか塗潰  されたセルでは分かり難い場合があるため、H列~AA列に書き出す方法が知り  たく質問させて頂きます。 以上、よろしくお願いします。

  • 重複数字の数に応じてセルに色をつける。

    このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がお見えでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、1列×25行の中に数字が1~31まであり、  重複数字を含んで昇順に並んでおり、それが4列あります。  1列毎に数字を見て以下の条件にあえばセルを塗り潰します。   2個重複⇒セルを黄色に塗り潰す。   3個重複⇒セルを青色に塗り潰す。   4個重複⇒セルを緑色に塗り潰す。   5個重複⇒セルを赤色に塗り潰す。   上記を実現する方法をVBAで実現する方法が知りたいです。   【注意事項】   ・1列×25行の中にある数字の並びは毎回異なります。   ・1列×25行の中に重複数字が無い場合があります。(例:A列)   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • 【再】連続する同じ数字のセルの塗り潰しがしたい。

    先程は、質問の添付図が添付されていなかたので再掲載します。 @@@@@@@@@@@@@@@@@@@@@ このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がお見えでしたら回答よろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、4行×25列の中に数字が1~31まであり、重複して入っています。  この中にある数字で、同じ数字が縦・右斜め・左斜め(横は無い)のいずれかに該当すれば  その数字のセルを黄色で塗り潰す方法をVBAで実現する方法が知りたいです。   【注意事項】   ・4行×25列の中にある数字の並びは毎回異なります。   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • 連続する同じ数字のセルの塗り潰しがしたい。

    このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がお見えでしたら回答よろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  また私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】  添付図のとおり、4行×25列の中に数字が1~31まであり、重複して入っています。  この中にある数字で、同じ数字が縦・右斜め・左斜め(横は無い)のいずれかに該当すれば  その数字のセルを黄色で塗り潰す方法をVBAで実現する方法が知りたいです。   【注意事項】   ・4行×25列の中にある数字の並びは毎回異なります。   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • 重複の数によって塗潰しの色を変える方法

    このカテゴリーのエクセルの達人の方々に質問です。 どなたか回答して頂ける方がおみえでしたらよろしくお願いします。 (ちゃんとした回答ではなく、文句やクレーム等を混ぜた記載はご遠慮ください。  私の質問が気に入らない場合は無視して頂ければ結構です。) 【質問】 添付図のとおり、A列とB列に数字が入っていて重複がありますが 昇順で並んでいます。それが100行あります。重複の数に応じて以下のとおりセルの塗潰しがしたいです。  A列&B列重複 ・・・2個なら”黄色”で塗潰し。  A列&B列重複 ・・・3個なら”青色”で塗潰し。  A列&B列重複 ・・・ 4個なら”緑色”で塗潰し。  A列&B列重複 ・・・ 5個なら”赤色”で塗潰し。 上記を実現する方法をVBAで実現する方法が知りたいです。   【注意事項】   ・A列、B列の数字は毎回異なります。   ・VBAで実現する方法~、と書きましたが、    同様のことが他の方法でも実現できればそれを教えて下さい。   ・使用するエクセルは2021です。 以上、よろしくお願いします。

  • 塗潰されたセルと同じ色の数字を重複無しで縦に並べる

    いつもお世話になっております。 ご存じの方がお見えでしたらご回答をよろしくお願いします。 【質問】  添付図の様に5×5マスが4つあり、それが縦に6つあります。  5×5マスの4つの中には、黄色、緑色、赤色、青色の4色のいずれかでセルが  塗り潰されています。M列~P列に4色(黄色、緑色、赤色、青色)の色があります。   (1)5×5マスの4つの中で同じ色で塗潰されたセルの数字を重複無しでM列~P列に4色のいずれかに縦に昇順に並べる。   (2)上記(1)で縦に4つに並べた数字をR列に縦1列に重複無しで縦に昇順に並べる。 【注意事項】   ・5×5マスが4つの中で、4色全ての塗り潰しがある訳ではありません。    ※最低、黄色のみという場合があります。   ・5×5マスが4つの中で、塗り潰されているセルは毎回異なります。   ・使用するエクセルは2016です。 以上、よろしくお願いします。

専門家に質問してみよう