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

私は書店員をしておりまして、売れた商品をエクセルを用いた台帳に打ち込んでおります。
そこで、売り上げた冊数での著者のランキングを自動的に排出する表を作りたいと考えております。

現在作成しているエクセルファイルは以下のようなセル配置になっています。

   A     B     C     D      E
1 出版社  題名   著者   品番   値段
2 ~~社   ~    ~     ~     ~
                ・
                ・
                ・
そして以下ようなランキングがつくれればと思っています。

順位    著者    売れた数
1       A        ~
2       B        ~
3       C        ~

私の場合、決まった著者が毎回売れるわけではないので、別シートを作成し著者名でカウントしランク付けする方法が使えないのかなと思い質問いたしました。

宜しくお願いします。

A 回答 (3件)

こんばんは!



やり方だけ・・・
↓の画像のように元データはSheet1にあり、Sheet2に表示するとします。
万一、同順位があっても対応できるようにしてみました。

Sheet1に作業列を2列設けます。
作業列1のF2セルに
=IF(COUNTIF(C$2:C2,C2)=1,COUNTIF(C:C,C2),"")

作業列2のG2セルに
=IF(F2="","",COUNTIF(F:F,">"&F2)+COUNTIF(F$2:F2,F2))

という数式を入れ → F2・G2セルを範囲指定 → G2セルのフィルハンドルで下へこれ以上データはない!というくらいまでコピーしておきます。

そしてSheet2のA2セルに
=IFERROR(SMALL(Sheet1!G:G,ROW(A1)),"")

B2セルに
=IF(A2="","",INDEX(Sheet1!C:C,MATCH(A2,Sheet1!G:G,0)))

C2セルに
=IF(A2="","",INDEX(Sheet1!F:F,MATCH(A2,Sheet1!G:G,0)))

という数式を入れ → A2~C2セルを範囲指定 → C2セルのフィルハンドルで下へコピーすると
画像のような感じになります。

※ 同順位の場合は最初に出現した行が上位になります。
※ 作業列が目障りであれば
遠く離れた列にするか、非表示にしてください。m(_ _)m
「エクセルで名前の数からランキングを作成す」の回答画像1
    • good
    • 3
この回答へのお礼

わざわざ同じようなシートを作っていただきありがとうございます。
まさに私が求めていた回答でして、うきうきしながら作業を始めたところ、、、実はOpenOfficeをつかっておりまして、同じ関数?数式?をセルに入れたところ、エラー508が出てしまいました。
エクセルと同じようなもので互換性があると思っていたのですが、関数など一部互換性のないものがあるようですね、、、
申し訳ありませんが関数の意味など教えていただけたら自分で直せるかも知れません、、、

お礼日時:2017/07/04 01:44

ピボットテーブルそのものではないでしょうか。


データのシートの列を選択しておいて
リボン 挿入 ピボットテーブル
新規のシートで OK
列と集計に 著者 を入れれば、
著者事のデータの個数になります。
ここまで出来たら、個数を右クリックして降順に並び替えたらご希望のシートです。
一度、作成してしまえば
次からは、 更新 をクリックすると最新の集計結果になります。

エクセル ピボットテーブル で検索すれば、沢山ヒットします。
    • good
    • 0
この回答へのお礼

ありがとうございます。ピポットテーブルについても勉強してもっと業務のスピードアップを図っていきたいと思います!

お礼日時:2017/07/07 02:08

No.1です。



確証はないのですが・・・
OpenOfficeの場合「引数の区切り」の記号がカンマ(,)ではなくセミコロン(;)ではないでしょうか?

※ エラーの原因がそれ以外の場合はごめんなさい。m(_ _)m
    • good
    • 0

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