アプリ版:「スタンプのみでお礼する」機能のリリースについて

下図の簡易表にてご説明します。(画像が荒くて申し訳ありません)

A列の中に重複データがある時、対応するBの中で最大値をひとつだけC列に抽出したいのです。

C列に下図の通り配列関数を入れてみたものの、
ピンクや水色塗りつぶし行はB列が同じ最大値のためC列に表示されてしまい(そうですよね…)、いろいろ検索しましたが以下の2つの条件がネックでお手上げ状態です。

①実際は左右列に別項目があるので『重複の削除』は使用不可
②フォント色を変えて見えなくする、ではなく空欄か「0」であること

なにかヒントを頂きたく、よろしくお願いします。

「【Excel2010】複数行で重複するデ」の質問画像

質問者からの補足コメント

  • ご提案ありがとうございます!!
    実際の表の左右にある項目列(50行くらい)の内容がそれぞれ違うため、統合が出来ないのです。
    ピボットテーブルやマクロとなると周りで同じファイルを使う同僚たちが自分で調整出来きなくなり死んだ魚の目になるのですが、関数での処理はやはり無理でしょうか…。

    No.1の回答に寄せられた補足コメントです。 補足日時:2019/02/07 13:12

A 回答 (6件)

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
    • good
    • 1
この回答へのお礼

見事にはまりました。ありがとうございます!
作業用セルでワンクッションおけば数式も短くてすみますね。

丁寧な解説の中にふふっと笑えるところがあり、
読んでいてとても楽しかったです。
本当にありがとうございました!

お礼日時:2019/02/07 19:15

こんばんは!



画像の配置だと、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
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。
COUNTIFSとMAXを組み合わせれば良かったんですね!
最大値を求めることだけに気を取られていて視界が狭まっていました。。。

ばっちり反映しましたし、とても使いやすいです。
本当にありがとうございました!

お礼日時:2019/02/07 19:29

(´・ω・`)


その数式の意味を理解されていますか?

「A列のある番号でグループ分けして、そのグループの中で一番大きいB列の値がある行にその最大値を表示する。」
てものです。

数式そのものを完全につくりかえなければいけませんよ。
今の数式でB列の値を変えると次のようになります。
結果を見て、実際にどうすべきかを再考しましょう。
「【Excel2010】複数行で重複するデ」の回答画像4
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます!
質問の書き方が悪く申し訳ございません。

数式の意味は理解しており、お言葉をお借りすると、

「A列のある番号でグループ分けして、そのグループの中で一番大きいB列の値がある行にその最大値を『どれかひとつだけ』表示する。」

という式になるよう、if関数の正の時の答え(この数式では最後の「B2」の部分)に新たになにか数式を入れることが出来れば完成するのではと悩んでおりました。

頂いた表でも、間違いなく欲しい答えになっています。

ここから、C列に表記される解が
・C5~C7の「1500」がどれか1つだけ表示される
・C8とC10の「1500」がどちらか1つだけ表示される
となればゴールとなります。

後出しのようになってしまいすみません。
丁寧なご説明ありがとうございました!

お礼日時:2019/02/07 15:45

こんにちは



>最大値をひとつだけ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,"")
上式は配列数式です。

>周りで同じファイルを使う同僚たちが自分で調整出来きなくなり~
配列数式でも、「自分で調整できなく」なるであろうことは同じだと思いますけれどね。
    • good
    • 1
この回答へのお礼

ご認識の通りです。
おかげで無事反映できました。ありがとうございます。
1000を掛けて足したものを1000で割るという発想に目から鱗でした。

配列関数についてはうちで日常的に使われていますので問題ないのが救いです。
本当にありがとうございました!

お礼日時:2019/02/07 15:36

>実際の表の左右にある項目列(50行くらい)の内容がそれぞれ違うため、統合が出来ないのです



誰も表全部使って統合しろとは言ってませんが。
実際のレイアウトがわからないのでサンプルを見てしかこちらは判断できませんし。
数式案はそのうちどなたか書いてくれるんじゃないですかね。
    • good
    • 0
この回答へのお礼

>誰も表全部使って統合しろとは言ってませんが。
 それで結局どこをどう統合したかったのか不明のまま全く内容がない。
 口調が高圧的に見え、読み手の気分を害す可能性が高い。-50点。

>実際のレイアウトがわからないのでサンプルを見てしかこちらは判断できませんし。
 この表でどうするか、までの表記が無くやはり全く参考にならない。-50点。

>数式案はそのうちどなたか書いてくれるんじゃないですかね。
 最終的になにもアドバイスのないまま他人に丸投げしてする様子を晒していくスタイル。
 結局何しに来たんだと爆笑して人を楽しませる技を披露。+100点

合計0点です

◆総評◆
分からなくて質問している人間の的外れな言動に対して強い口調になる貴方はこのサイト向いていないと思います。
まさか他でもこんな内容の薄い回答で1stアンサー稼ぎに巡回でもなさってるのでしょうか。
また、ベストアンサー率の低さも心配です。もっと具体性のある丁寧な回答を心がけましょう。
質問者を下に見ているのが敬語を使っていてもダダ漏れなので、もう少し上手く隠して回答出来るといいですね。
もしそんなつもりが無いようでしたら誤解を生む話し方をなさっているので、今後のためにお伝えしておきます。
他の回答者様との口調や内容のギャップがすごくて驚きました。

ただ、今回はそれっぽい単語並べたら深堀されて答えられず噛みついてきたようにも見え、
質問者側としては大変微笑ましく、元気さがあって大変よろしい。

今後に期待、ということで「お礼」コメントさせていただきました。

お礼日時:2019/02/07 19:52

ピボットテーブルとか統合とかで最大値を出すようにした方が早いんじゃないですかね?

この回答への補足あり
    • good
    • 0

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

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