適材適所

PowerShellやVBAなどプログラミング系の話多めで

【Excel業務あるある】重複データから最大値or最小値を抽出する

出たー!!Excel脳筋プレー!!

Excelあるある、手作業で重複データから最大値or最小値を抽出したい!!

ということでそれを手作業でやることがあったのでその方法の紹介です。

重複したレコードから特定の項目で最大値のものだけを残したい

重複している「項目名」のうち、「値」が最大のものだけ残して抽出したいとします。

この状態から

f:id:shinmai_papa:20210818174906p:plain

この状態へ

f:id:shinmai_papa:20210818174912p:plain

Let's go!

フィルターをかける

f:id:shinmai_papa:20210818174925p:plain

フィルターをかけます。

並べ替える

並べ替えをクリックし、

最優先されるキーに「項目名」、次に優先されるキーに「値」を選択します。

「項目名」の順序については昇順でも降順でもOK。

「値」の順序は大きい順にします。

最小値を抽出したいときは「値」の順序を小さい順にします。

f:id:shinmai_papa:20210818174917p:plain

OKをクリックすると、重複する項目ごとに大きいものが先頭に来ます。

f:id:shinmai_papa:20210818174935p:plain

計算式を入れる

C3セルに=A2=A3と入力し、オートフィルで下まで持っていきます。

f:id:shinmai_papa:20210818174930p:plain

すると、重複の2番目以降のデータがTRUEになります。

このTRUEになっている行が不要な行なのであとは削除してあげます。

=A2=A3という式ですが、A2とA3が等しいかどうかということです。

等しければTRUE、異なればFALSEが表示されます。

TRUEの場合は、上の行と同じ項目名ということなので、

重複しているデータの2件目以降ということになります。

不要な行を削除する

TRUEの行だけ選択します。

f:id:shinmai_papa:20210818174946p:plain

行の削除をすると数式がぶっ壊れますが、

どうせ不要なのでおかまいなし。

f:id:shinmai_papa:20210818174952p:plain

壊れた数式を消して、完成です。

f:id:shinmai_papa:20210818174941p:plain

残ったのは重複データのうち、最大値をもつものだけです。

終わりに

Excelで重複したデータから最大値or最小値を抽出する方法の紹介でした。

一回こっきりの作業ならこれでOK。

もし一回こっきりじゃなくて

ルーティーンでやる作業だったら

VBAで自動化するといいかも知れませんね。

以上、ここまでお読みいただき、ありがとうございました。