![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
表題の質問をさせていただきます。よろしくお願いいたします。
A列には商品名 B列には販売数があるとします。
商品には一回しか出てこない物や何度も出てくるものがあります。
そこで、販売数が最大値のみの重複しない商品データにする方法をお聞きしたいのです。
できれば非表示的な処理ではなく不要行削除が望ましいです。
例 下の場合
りんご 3(重複商品の最大値)
みかん 5(単独商品)
りんご 1
バナナ 6(単独商品)
りんご 2
イチゴ 2(重複商品の最大値)
イチゴ 1
↓にしたいのです。
りんご 3
みかん 5
バナナ 6
イチゴ 2
よろしくお願いいたします。
No.3ベストアンサー
- 回答日時:
No2 merlionXXです。
myDic自身が配列だったのでもっと簡潔な書き方が出来ました。
ご参考のため各コードにコメントも付けておきました。
Sub test02()
Dim myDic As Object '変数宣言
Dim c As Range '変数宣言
Set myDic = CreateObject("Scripting.Dictionary") 'myDicを用意
For Each c In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp)) 'A列の各データについて
If Not myDic.exists(c.Value) Then 'myDicになければ
myDic.Add c.Value, c.Offset(0, 1).Value '追加しB列データを結びつける
Else 'myDicにあれば
myDic(c.Value) = IIf(myDic(c.Value) < c.Offset(0, 1).Value, c.Offset(0, 1).Value, myDic(c.Value)) 'B列データの大きい方を結びつける
End If
Next c '繰り返し
Set ns = Worksheets.Add(After:=ActiveSheet) 'シートを追加
ns.Range("A1").Resize(myDic.Count, 1).Value = Application.Transpose(myDic.Keys) 'A列にデータ
ns.Range("B1").Resize(myDic.Count, 1).Value = Application.Transpose(myDic.Items) 'B列に結びつけデータ
Set myDic = Nothing
Set ns = Nothing
End Sub
お返事ありがとうございます。
前日のお礼時に書いた内容までは、まだ解決できていないのですが、当初質問させていただいた内容については無事に解決いたしております。
時間が掛かると申し訳ないので、いちど締め切らせていただこうと思います。
この度は本当にありがとうございました。
No.2
- 回答日時:
VBAで行う一例です。
別シートを作成し、そこに抽出します。
Sub test02()
Dim myDic As Object
Dim c As Range
Dim myKey(), myItem()
Set myDic = CreateObject("Scripting.Dictionary")
For Each c In Range(Cells(1, "A"), Cells(Rows.Count, "A").End(xlUp))
If Not myDic.exists(c.Value) Then
myDic.Add c.Value, c.Offset(0, 1).Value
Else
myDic(c.Value) = IIf(myDic(c.Value) < c.Offset(0, 1).Value, c.Offset(0, 1).Value, myDic(c.Value))
End If
Next c
myKey() = myDic.Keys
myItem() = myDic.Items
' MsgBox Join(myKey()) & Join(myItem())
Set ns = Worksheets.Add(After:=ActiveSheet)
ns.Range("A1").Resize(myDic.Count, 1).Value = Application.Transpose(myKey())
ns.Range("B1").Resize(myDic.Count, 1).Value = Application.Transpose(myItem())
Set ns = Nothing
End Sub
お返事ありがとうございます。
早速 試させていただき無事に動作が出来まして、今は勉強しながら既存シートへの上書きへの変更や商品名がA列に無いときなどの場合の実験をしているところでした。(ともに うまくできました)
するとお礼をする前に次のお返事が入っており感激しているところです。
しかも、コードの解説付きで大感謝です。
さらに、参考にさせていただきながら改造をしてみようと思っております。
のちほど追加の質問をさせていただこうと思いますので もしよろしければご教授の程よろしくお願いいたします。
ちなみに現在、格闘中の部分は 実際には列がたくさんあるので A・B以上の列の場合と 最大値がB列に無い場合への改造を試しております。
No.1
- 回答日時:
案1
フィルタオプションの設定で重複レコードを削除し
配列数式で計算
=MAX(IF($A$2:$A$8=D2,$B$2:$B$8))
コピー&値の貼り付け
案2
ピボットテーブル案の最大値
案3
並べ替えて 集計を最大値で
は非表示なので没ですね
![「エクセル 最大値データのある行のみを残し」の回答画像1](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/1/655143_5497ef505767b/M.jpg)
お返事いただきありがとうございます。
全て試させていただいたところ、案1が良さそうだったのですけど なかなか同じ動作が出来ずに いろいろと やっていたところ ご提案を参考にさせていただきながら以下の方法で解決できました。
商品名を第一優先で販売数を降順で並べ替えておく。
フィルタオプションの設定を選択範囲にしました。
すると どうにか思っていた結果に結びつけることが出来ました。
この度はありがとうございました、今後ともよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Visual Basic(VBA) vbaマクロについて 【1.csv】をもとに【商品.csv】に有るものを【有り.csv】として名前を 1 2023/05/18 07:58
- その他(買い物・ショッピング) JANコードの登録について 1 2022/07/23 14:19
- Visual Basic(VBA) vbaマクロについて 次のようなマクロを組みたいです。 自分は初心者なので全くわかりません。 詳しく 8 2023/05/18 18:38
- Excel(エクセル) エクセル count関数で出てきた数だけの行数をリンクで参照する 3 2022/08/10 12:02
- Amazon 新規でAmazon商品ページ作成方法について 1 2022/03/28 00:22
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- 会計ソフト・業務用ソフト Excelで売上げデータの中の任意の商品の合計を出したい 3 2023/01/18 18:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで 自動的に◯や数字を...
-
【マクロ】2回実行したら、エ...
-
エクセルのツールバーから数値...
-
特定の文字列を含む、住所を抽...
-
Excel 2019 [オプション]の[リボンのユ...
-
祝日と土曜、日曜の合計をカウ...
-
EXCELの散布図で日付が1900年に...
-
マイクロソフトのPADを使ってい...
-
絶対参照
-
エクセルでCtrl+Tでテーブルの...
-
【マクロ】名前を保存する際に...
-
エクセルのクイックアクセスツ...
-
【マクロ】VLOOKUPにて参照元に...
-
Excel分数の表示について
-
【EXCEL】画像の黄色部分の抽出...
-
DATE関数で現在の年齢を出した...
-
Excelについて
-
マクロエクセルのブロック解除
-
Excelピボットテーブルの1行目
-
REGEXREPLACE関数について、
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報