![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?c9bd177)
下図の簡易表にてご説明します。(画像が荒くて申し訳ありません)
A列の中に重複データがある時、対応するBの中で最大値をひとつだけC列に抽出したいのです。
C列に下図の通り配列関数を入れてみたものの、
ピンクや水色塗りつぶし行はB列が同じ最大値のためC列に表示されてしまい(そうですよね…)、いろいろ検索しましたが以下の2つの条件がネックでお手上げ状態です。
①実際は左右列に別項目があるので『重複の削除』は使用不可
②フォント色を変えて見えなくする、ではなく空欄か「0」であること
なにかヒントを頂きたく、よろしくお願いします。
![「【Excel2010】複数行で重複するデ」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/5/542864081_5c5ba214c0d53/M.jpg)
No.5ベストアンサー
- 回答日時:
Excel のワークシートは、今や 1,048,576行x16,384列から成ります。
つまり、空き行列を利用しないテはありません!
たった1列(E列)を作業列として使っても罰は当たらないでせう。
(目障りなら、E列を非表示にするとか、フォント色を背景色と同じにするとか)
添付図参照
1.式 =B2+ROW()/100000 を入力したセル E2 を下方にズズーッと
 ̄ ̄オートフィル
2.次式を入力したセル C2 のフィルハンドルをマウスで掴んで
 ̄ ̄「エイヤッ!」とダブクリするだけぇ~
 ̄ ̄ =IF(MAX(IF(A$2:A$11=A2,E$2:E$11))=E2,B2,"")
 ̄ ̄【お断り】この式は必ず配列数式として入力のこと
![「【Excel2010】複数行で重複するデ」の回答画像5](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/2/298588_5c5bd0445dd94/M.jpg)
見事にはまりました。ありがとうございます!
作業用セルでワンクッションおけば数式も短くてすみますね。
丁寧な解説の中にふふっと笑えるところがあり、
読んでいてとても楽しかったです。
本当にありがとうございました!
No.6
- 回答日時:
こんばんは!
画像の配置だと、C2セルに
=IF(AND(COUNTIFS(A$2:A2,A2,B$2:B2,B2)=1,B2=MAX(IF(A$2:A$11=A2,B$2:B$11))),B2,"")
配列数式です!(★)
として、フィルハンドルで下へコピーしてみてください。
※ 該当データの一番上に行に結果が表示されます。m(_ _)m
ご回答ありがとうございます。
COUNTIFSとMAXを組み合わせれば良かったんですね!
最大値を求めることだけに気を取られていて視界が狭まっていました。。。
ばっちり反映しましたし、とても使いやすいです。
本当にありがとうございました!
No.4
- 回答日時:
(´・ω・`)
その数式の意味を理解されていますか?
「A列のある番号でグループ分けして、そのグループの中で一番大きいB列の値がある行にその最大値を表示する。」
てものです。
数式そのものを完全につくりかえなければいけませんよ。
今の数式でB列の値を変えると次のようになります。
結果を見て、実際にどうすべきかを再考しましょう。
![「【Excel2010】複数行で重複するデ」の回答画像4](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/b/542206607_5c5bc5022330d/M.png)
ご回答ありがとうございます!
質問の書き方が悪く申し訳ございません。
数式の意味は理解しており、お言葉をお借りすると、
「A列のある番号でグループ分けして、そのグループの中で一番大きいB列の値がある行にその最大値を『どれかひとつだけ』表示する。」
という式になるよう、if関数の正の時の答え(この数式では最後の「B2」の部分)に新たになにか数式を入れることが出来れば完成するのではと悩んでおりました。
頂いた表でも、間違いなく欲しい答えになっています。
ここから、C列に表記される解が
・C5~C7の「1500」がどれか1つだけ表示される
・C8とC10の「1500」がどちらか1つだけ表示される
となればゴールとなります。
後出しのようになってしまいすみません。
丁寧なご説明ありがとうございました!
No.3
- 回答日時:
こんにちは
>最大値をひとつだけC列に抽出したいのです。
C列に一つだけ表示されるようにしたいということですよね?
同じ値が複数ある場合(ご提示の例の5~7行目など)は、どれでも良いものと解釈しました。
(以下の式で、同じ値が複数ある場合は、行番号が一番大きなものが採用されます)
ご提示の図で、C2セルに
=IF(ROW()=MOD(MAX(IF(A2=A$2:A$11,(B$2:B$11)*1000+ROW(B$2:B$11))),1000),B2,"")
上式は配列数式です。
>周りで同じファイルを使う同僚たちが自分で調整出来きなくなり~
配列数式でも、「自分で調整できなく」なるであろうことは同じだと思いますけれどね。
ご認識の通りです。
おかげで無事反映できました。ありがとうございます。
1000を掛けて足したものを1000で割るという発想に目から鱗でした。
配列関数についてはうちで日常的に使われていますので問題ないのが救いです。
本当にありがとうございました!
No.2
- 回答日時:
>実際の表の左右にある項目列(50行くらい)の内容がそれぞれ違うため、統合が出来ないのです
誰も表全部使って統合しろとは言ってませんが。
実際のレイアウトがわからないのでサンプルを見てしかこちらは判断できませんし。
数式案はそのうちどなたか書いてくれるんじゃないですかね。
>誰も表全部使って統合しろとは言ってませんが。
それで結局どこをどう統合したかったのか不明のまま全く内容がない。
口調が高圧的に見え、読み手の気分を害す可能性が高い。-50点。
>実際のレイアウトがわからないのでサンプルを見てしかこちらは判断できませんし。
この表でどうするか、までの表記が無くやはり全く参考にならない。-50点。
>数式案はそのうちどなたか書いてくれるんじゃないですかね。
最終的になにもアドバイスのないまま他人に丸投げしてする様子を晒していくスタイル。
結局何しに来たんだと爆笑して人を楽しませる技を披露。+100点
合計0点です
◆総評◆
分からなくて質問している人間の的外れな言動に対して強い口調になる貴方はこのサイト向いていないと思います。
まさか他でもこんな内容の薄い回答で1stアンサー稼ぎに巡回でもなさってるのでしょうか。
また、ベストアンサー率の低さも心配です。もっと具体性のある丁寧な回答を心がけましょう。
質問者を下に見ているのが敬語を使っていてもダダ漏れなので、もう少し上手く隠して回答出来るといいですね。
もしそんなつもりが無いようでしたら誤解を生む話し方をなさっているので、今後のためにお伝えしておきます。
他の回答者様との口調や内容のギャップがすごくて驚きました。
ただ、今回はそれっぽい単語並べたら深堀されて答えられず噛みついてきたようにも見え、
質問者側としては大変微笑ましく、元気さがあって大変よろしい。
今後に期待、ということで「お礼」コメントさせていただきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つの条件を指定してVBAで行を削除したい 条件1:分類1が重複 条件2:分類2が重複 条件3:個数 6 2022/06/24 11:07
- Excel(エクセル) ExcelVBAでリストの項目に必要数と同じ手配数を分配していくマクロを作りたいです。 1 2022/07/29 18:36
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- Excel(エクセル) Excel2019 列と列(2列)の数値の重複を調べたい 1 2023/05/11 13:35
- Excel(エクセル) 表に書いてある単語を1つの行に重複させないで書き出したい。 複数の列行にそれぞれ職種が入力されている 6 2022/05/25 04:49
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) エクセル関数の変わった使い方 3 2022/05/13 17:12
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Visual Basic(VBA) ListView重複データ削除 2 2022/08/05 18:12
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
VBAで重複するデータがあれば1個だけ残して他の重複セルを"(空白)にしたいのですが
Excel(エクセル)
-
エクセル 重複 隣の列 一番上だけの数値を残す VBA
Excel(エクセル)
-
VBA 日付別に最大値の行を抽出して別シートに貼り付けたい
Excel(エクセル)
-
-
4
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
5
エクセルで複数ある同じ数値の行を1つだけにしたい
Excel(エクセル)
-
6
Excelで同じ商品名で、かつ日付が古いものを抽出する方法
Excel(エクセル)
-
7
条件に一致する最終行の値をエクセル関数で抽出する方法
Excel(エクセル)
-
8
エクセルエラー13型が一致しませんの直し方教えて下さい。
その他(Microsoft Office)
-
9
Excelで最大値の入っている数値の右側にある項目名を拾いたい。
その他(Microsoft Office)
-
10
EXCELの重複データから最大と合計を抽出する方法
Excel(エクセル)
-
11
【VBA】特定の値が入った行をコピーして別シートに貼り付ける方法をおしえていただきたいです。
Excel(エクセル)
-
12
Excelで指定した日付から過去の最も近い日付(指定した日付も含む)を下から検索する方法
Visual Basic(VBA)
-
13
【vba】指定範囲の中に任意の文字があるときの条件分岐
Excel(エクセル)
-
14
エクセルで時刻(8:00~20:00)でオートフィルタをかけたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでセルに標準で入力さ...
-
お世話になります。 Excelを使...
-
エクセルでB列でフィルターをか...
-
EXCELの質問です 119から足した...
-
Excel VBについての質問です。
-
UNIQUE関数が使えないバージョ...
-
Excelで、項目の種類ごとにカウ...
-
【マクロ】アクティブセルにブ...
-
【マクロ】アクティブセルの行...
-
A列とB列を参照してC列に連番を...
-
【マクロ】アクティブセルの、...
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
エクセル日付 文字列の関数がエ...
-
エクセルの空欄をつめて、次の...
-
エクセルの問題です。絶対値の...
-
エクセルのコメントのデザイン...
-
エクセルで上位バイトのセルと...
-
Excel 大小比較演算子による「...
-
「問題が発生しました」ですと?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報
ご提案ありがとうございます!!
実際の表の左右にある項目列(50行くらい)の内容がそれぞれ違うため、統合が出来ないのです。
ピボットテーブルやマクロとなると周りで同じファイルを使う同僚たちが自分で調整出来きなくなり死んだ魚の目になるのですが、関数での処理はやはり無理でしょうか…。