• 締切済み

EXCEL 重複する番号をひとつにする

EXCELについて教えて頂きたい内容がありますのでよろしくお願い致します。 C列の重複する番号を一つにまとめ、 一つにまとめた中でもH列の数字のMAXを抽出したいです。 【例】 1236148  3 1236148  5 ↓ 1236148  5のみに表示 このように出来る関数などはありますでしょうか? もしくはマクロなどを教えて頂きたいです。 よろしくお願い致します。

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

お示しのデータがシート1のC列からH列の2行目から下方にあるとします。 作業列をI列に設けI2セルには次の式を入力し、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。 =IF(COUNTIF(C:C,C2)=1,MAX(I$1:I1)+1,IF(AND(COUNTIF(C:C,C2)>1,H2=MAX(IF(C:C=C2,H:H))),MAX(I$1:I1)+1,"")) 式の両側に括弧が付きます。 この式を下方にドラッグコピーします。 これで番号が重複している場合にはH列で大きい数値の行に番号が振られます。また、重複のない番号に行にも番号が振られます。 シート2のC列からH列にそれらの表を表示させるとしたらC2セルには次の式を入力してH2セルまでドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$I:$I),"",INDEX(Sheet1!$C:$H,MATCH(ROW(A1),Sheet1!$I:$I,0),COLUMN(A1)))

全文を見る
すると、全ての回答が全文表示されます。
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.3

>C列の重複する番号を一つにまとめ、 >一つにまとめた中でもH列の数字のMAXを抽出したいです。 結果を Sheets("Sheet2").Range("A1") に書き出しました。 Sub Test()   Dim myDic As Object, c As Range   Set myDic = CreateObject("Scripting.Dictionary")   For Each c In Range("C1", Cells(Rows.Count, "C").End(xlUp))     If myDic(c.Value) < c.Offset(, 5).Value Then myDic(c.Value) = c.Offset(, 5).Value   Next   Sheets("Sheet2").Range("A1").Resize(myDic.Count, 2).Value = _     Application.Transpose(Array(myDic.Keys, myDic.Items))   Set myDic = Nothing End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

マクロ(VBA)の一例です。 データシートをSheet1、Sheet2に抽出します。 Sheet1タブ上で右クリック→コードの表示→サンプルコード貼り付け→Sheet1上でAlt+F8キー押下→sample実行 Sub sample() Dim i As Long Set Db = CreateObject("Scripting.Dictionary") For i = 1 To Cells(Rows.Count, "C").End(xlUp).Row c = Cells(i, "c") h = Cells(i, "H") If Db.Exists(c) Then If Db(c) < h Then Db(c) = h Else Db(c) = h End If Next With Sheets("sheet2") wk = Db.keys For i = LBound(wk) To UBound(wk) .Cells(i + 1, "A").Value = wk(i) .Cells(i + 1, "B") = Db(wk(i)) Next End With Set Db = Nothing End Sub

全文を見る
すると、全ての回答が全文表示されます。
  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

ピボットテーブルで重複のないC列のデータの種類を作り、H列で降順に並べ替えてから、VLOOKUPでH列のMAXを抽出してはいかがでしょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル / 重複する文字の行番号を抜き出す。

    お世話になります。 XP/2003 使用です。 エクセルで下記のようなケースの行番号を抜き出したいです。 できれば、関数のみがありがたいのですが、 マクロでもOKです。 ----------- 抽出したい行番号  重複する文字が入力された 「先頭の行」 と 「最後の行」 の行番号 ----------- 例 同じ列に、重複する単語が入力されています。 重複する単語は、必ず上下に並んでいますが、 1単語のみ場合もあります。 1  AAA 2  AAA 3  AAA 4  AAA 5  BBB 6  BBB 7  CCC 8  CCC 9  CCC 10 DDD 上記の場合の抽出した行番号 単語 → 先頭の行/最後の行 AAA → 1/4 BBB → 5/6 CCC → 7/9 DDD → 10/10 行番号は、B列、C列などに抽出できれば良いです。 何卒よろしくお願いします。

  • エクセル教えてください 重複データの削除方法

    エクセルは良く使っていますが、レベルは初級の上です。 同一セル内に複数の重複データが入っていますが、重複しないものを抽出し 新しいセルに入れたいと思っています。 重複データの区切りは、セミコロン";" パイプ区切り"|",空白、改行が混在しています。 重複しないものを、新しいセルに入れたいのですが、どのようにしたら良いでしょうか? 新しいセルでのデータ区切りは、コンマ(又はパイプ区切り)にしたいと思っています。   例で説明します。 A列(番号) B列(元のデータ)             C列(重複を除いたデータ)  1      タイ ベトナム 中国|タイ|タイ         タイ,ベトナム,中国    2      インド ベトナム|インド タイ |インド 中国  インド,ベトナム,タイ,中国 ※B列のデータを重複を除いて、C列に入れたいと思っています ※2行のデータを例にしましたが、実際には2万くらいデータがあります ※マクロは全くわからないので、多少の手作業があっても関数レベルで やれると助かります。(いまから、マクロを勉強してもよいでしょうか??) 良い方法をアドバイスいただければ助かります。

  • エクセルマクロで重複数値と以外の数値を抽出する

    数値の表を作成しておりますが、 重複数値で困っております。マクロで教えてください。 A列11~20まで1.2.2.4.5.6.6.8.9.10とあるデータに 2と6が重複しています 重複数値2.6をB列2行目以降に、C列2行目以降にはそれ以外の1.4.5.8.9.10 を抽出したいのですが、マクロで教えてください。 (offsetを使ってできますか?) また、重複数値を抽出する自作関数ってできるでしょうか? よろしくお願いいたします。

  • エクセル 重複調べる

    エクセルの重複を調べる方法について何ですが、 a1,b1,c1に文字列が入っているのですが、 a1~c1の中に重複しているものが一つあったら(a1とc1が同じ、もしくはa1とb1が同じ、b1とc1が同じ)d1に1と表示して、重複無しだったら0と表示する関数はありますか?

  • 「エクセル」で重複したデータだけを呼び出したい。

    「Excel2000」を使用しています。 「重複しているデータだけ抽出する」 ということは出来るでしょうか? たとえば「A列」に名前が入っていて、 「B列」に住所、「C列」に電話番号が 入っているとします。 重複した名前だけを呼び出して、 なおかつ「B列」「C列」の データも表示させたいのですが…。

  • エクセルでA列B列C列の重複するレコードのみを表示

    エクセルのA列とB列とC列で重複するレコードのみを抽出して別の列に表示させたい。 エクセルのA列とB列とC列にそれぞれ1000行くらいのデータがあります。 それぞれの列内には重複レコードがあります。 この条件の中で 「A列とB列とC列に重複するデータすべて」 を抽出したいのですが、どんな方法がありますか。 抽出されたデータで重複レコードの場合は1件のみで表示したいです。 よろしくお願いします。 例   A   B   C   抽出  1-001-002--002--002 2-002-002--005--007 3-003-007--007--008 4-007-008--008--011 5-008-008--010 6-008-010--011 7-011-011--012 8-013-014--013

  • エクセルで重複のチェックをしたい

    初心者なので、拙い内容ですが教えてください。 ・エクセル2003 二つのシートにそれぞれA列に企業名、B列に支店名、 C列に郵便番号、D列に住所が入力されています。 二つのシートはほぼ同じ内容で、シート1は3000件の全データ、 シート2は抽出された1300件のデータが入力されています。 やりたいことは3000件のうちの1300件の重複データを シート1の全データの空白列に「重複」や  重複データには行に色をつけて表示させる、などとにかく 重複をわかりやすく表示させたいのです。 過去ログみましたが、いまいち理解できませんでしたので わかりやすく教示してくださると助かります! ちなみに二つのデータをひとつにし、フィルタオプションの 「重複するレコードは・・」は検討違いだったようでうまくいきませんでした・・ ひとつの列に対する重複チェックは理解できたのですが.. 支店によって住所が違ってくるので、たちどまってしまいました。

  • エクセルで重複しないものだけを抽出したい

    下記のようなデータがあります。 A B C D 1 20 30 40 1 20 32 41 1 20 30 49 1 20 81 39 2 20 76 40 2 20 32 41 2 20 30 49 3 20 81 39 3 20 39 40 3 20 32 41 4 20 30 49 4 20 81 98 このうち、列Aの他と重複しない部分であり、かつ先頭行を抽出するにはどのようにしたらよいでしょうか? 上記の例で言うと、列Aの1から4までのそれぞれ1行目を選ぶという作業です。 抽出後 A B C D 1 20 30 40 2 20 76 40 3 20 81 39 4 20 30 49 vlookupなどの関数でできるのでしょうか?教えてもらえたらうれしいです。お願いします。

  • excelの重複について

    顧客情報を管理しています。 A列~住所 B列~名前 C列~空白(必要に応じ○を入力) D列~空白or重複 (1)、順に入力し同じ住所と名前の重複があればセルに色が付く方法ってありますか? 住所のみ一致や名前のみ一致の時は色は付けません。 (2)、さらに上記の条件で同じ住所と名前があればセルに色を付けC列のセルに○が入力されA列B列C列すべてが重複したらD列に「重複」を表示できますか? 条件付き書式や関数等の組み合わせいいですが、初心者なのでマクロは使用できません。 また抽出したりする工程は不要です。 よろしくお願いします。 例 A列 : B列 : C列 : D列 住所 : 名前:チェック: 1 : 1条東1丁目 : 田中: ○ 2 : 2条東2丁目 : 鈴木: ○--------------2条東2丁目の鈴木は2つあるので色を付ける。 3 : 3条東3丁目 : 竹田: ○--------------3条東3丁目の竹田は2つあるので色を付ける。 4 : 1条東1丁目 : 小林: 5 : 2条東2丁目 : 鈴木 : ○ 重複-----2条東2丁目の鈴木に○が2つ付いたので「重複」と表示 6 : 3条東3丁目 : 竹田-----------------3条東3丁目の竹田は2つあるので色を付ける。

  • エクセル(空き番号の最小値の取得について)

    空き番号の最小値の取得について エクセルにて付与するナンバーの管理をしています。 シートでは重複しない数字がA列で縦に並んでいます。 数列は、ところどころ空き番号があります。 その空き番号の最小値が取得したいのです。 例「1・2・3・○・5・○・○・8・~」 例でいうと「4」が取得したいのです。 一度のみの処理ではなく、列に「4」を追加すると、次最小値である「6」を取得したいです。 上記を実現できる関数式を教えてください。 よろしくお願いします。

このQ&Aのポイント
  • 引張りバネのフックが外れる際の落下高さについて詳しく教えてください。
  • 引張りバネのフックが外れる際の高さを計算する方法を教えてください。
  • 引張りバネのフックが外れる高さの算出方法について教えてください。
回答を見る