よく売れた作品の順位を式で出す|LARGE・INDEX/MATCH で上位3つ、同じ金額でも重ならない書き方
公開日: 2026-11-11
作品が増えてくると、「いちばん売れているのはどれか」を毎回目で探すのは大変です。並べ替えのボタンを押せば並びますが、記録を足すたびに押し直すことになり、作品の表の並び順もくずれます。
この記事では、作品の表はそのままにして、横に「売上の合計の上位3つ」を式で出します。同じ金額の作品があるときに、同じ作品が2回出てしまう問題の直し方も説明します。
元にする作品の表
売上の合計(H列)は、販売記録から SUMIFS で集めた数です(作り方は在庫を販売記録から自動で減らす記事と同じ形です)。この例では、ビーズのピアスと刺しゅうブローチがどちらも 6,000円で並んでいます。
まず LARGE と INDEX/MATCH で書いてみる
大きい順に k 番目の金額は LARGE で出せます。その金額が何行目にあるかを MATCH で探し、INDEX で作品名を引きます。
=INDEX($A$2:$A$201,MATCH(LARGE($H$2:$H$201,2),$H$2:$H$201,0))
1位・2位はこれで出ますが、3位も「ビーズのピアス」になります。3番目に大きい金額も 6,000円で、MATCH は 6,000円を上から探して、最初に見つかったビーズのピアスの行を返すからです。同じ金額の作品があると、2つ目の作品はいつまでも表に出てきません。
同じ金額でも重ならない「並べ替え用」の列を足す
作品の表の空いている列(この例では K列)に、作品ごとに重ならない番号を出します。
K2: =IF($A2="","",RANK(H2,$H$2:$H$201)+COUNTIF($H$2:H2,H2)-1)
RANK(H2,$H$2:$H$201)は、大きい順で何番目かです。同じ金額の2つは、どちらも 2 になりますCOUNTIF($H$2:H2,H2)は、表の上から自分の行までに、同じ金額がいくつあるかです。範囲の始まりだけを$で固定しているので、下の行ほど範囲がのびます。1つ目は 1、2つ目は 2 になるので、1 を引いて足すと、2つ目だけが1つ下にずれます
テンプレートの売上の合計は、作品名の無い行では空("")になるので、RANK と COUNTIF は空の行を数えません。自分で作った表で、作品名の無い行に 0 が出る形になっているときは、0 の行も順位に入ってしまうので、その列も作品名が無ければ "" を返す式にしておきます(在庫の少ない順で並べるときは、とくにずれます)。
この例の並べ替え用は、上から 2・1・3・4・5 です。同じ 6,000円のうち、上の行のビーズのピアスが 2、刺しゅうブローチが 3 になりました。
上位3つの表
順位の列(M列)に 1・2・3 を書き、並べ替え用の番号で探します。
N2(作品名): =INDEX($A$2:$A$201,MATCH(M2,$K$2:$K$201,0))
O2(売上の合計): =INDEX($H$2:$H$201,MATCH(M2,$K$2:$K$201,0))
この例では、1位 がま口ポーチ 8,800円・2位 ビーズのピアス 6,000円・3位 刺しゅうブローチ 6,000円 です。上位5つにしたいときは、M列に 4・5 を足して、式を下へコピーします。
- 同じ金額のときは、作品の表で上にある方が先になります。「売れた数が多い方を先に」のように別の決め方にしたいときは、並べ替え用の式にその条件を足します
- 作品が3つより少ないと、MATCH が見つからずに
#N/Aになります。IFERROR(…,"")で囲むと空にできます
SORT が使えるなら1つの式で
Microsoft 365・Excel 2021 以降、Google スプレッドシート、新しい LibreOffice では、SORT と FILTER で表ごと並べ替えた形を出せます。
=SORT(FILTER(A2:H201,A2:A201<>""),8,-1)
FILTER(…,A2:A201<>"")で、作品名のある行だけにします。空の行を残したまま大きい順に並べると、空の行が上に来ることがあります8は「範囲の8列目(売上の合計)で」、-1は「大きい順に」です(Excel・LibreOffice)。Google スプレッドシートでは、大きい順は-1ではなくFALSEで書きます(下の式)- この例では、同じ金額のビーズのピアスが刺しゅうブローチより先になりました(LibreOffice で確かめた結果)。同じ金額のときに必ず上の行を先にしたいときは、並べ替え用の列の方法を使います
- 結果は下と右に広がるので、その場所は空けておきます
Google スプレッドシート: =SORT(FILTER(A2:H201,A2:A201<>""),8,FALSE)
古い Excel(2019 まで)では SORT が使えないので、ほかの人に渡す表なら、並べ替え用の列の方法にしておくと、どのソフトでも同じ結果になります。
売上のほかの順位も同じ形で
- 利益の大きい順: 並べ替え用の式の H を、利益の合計の列(この例では I)に変えます
- 在庫の多い順: 在庫の列(G)に変えると、作りすぎている作品が上に来ます
- 在庫の少ない順:
RANKの3つ目の引数に1を足すと小さい順になり、COUNTIFの部分はそのままで使えます
利益の大きい順に上から足して、主力(A)・定番(B)・見直し候補(C)に分ける方法は利益で作品を A・B・C に分ける記事で説明しています。
LibreOffice で式の区切りが ; の設定になっている場合は、, を ; に置き換えて入力します。
作った表を、そのまま使いたい方へ
この記事の作品の表は、販売記録・作品・月別・販売先別を1つにまとめたテンプレートで作りました(並べ替え用の列と上位3つの表は、この記事で足したものです)。売れた数・在庫・売上の合計が販売記録から式で出るので、表を一から作る時間を省きたい方は、ハンドメイド売上・在庫管理シートもご覧ください。
カテゴリ: 式の書き方

