![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
営業成績のランキング表をエクセルで作りたいです。
当然のことながら、手作業ではなく一瞬で変換する方法です。
基本的なことで恐縮ですが、、作成方法教えてください。
よろしくお願いします。
(いつもはピボットテーブルで作成していましたが、エクセルでのランキング表を希望しています)
山田 太郎 北口支店 500
木村 次郎 西山支店 200
山田 太郎 北口支店 300
佐藤 三郎 東支店 1000
佐藤 三郎 東支店 200
山田 太郎 北口支店 600
(実際は膨大なデータです)
↓
1位 山田太郎 北口支店 1400
2位 佐藤三郎 東支店 1200
3位 木村次郎 西山支店 200
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
データにタイトルを追加して、
名前 支店 金額
山田太郎 北口支店 500
データをT1へ登録して、以下のSQLを実行する
SELECT
T1."名前",
T1."支店",
SUM(T1."金額")
FROM T1
GROUP BY
T1."名前",
T1."支店"
ORDER BY
SUM(T1."金額") DESC
![「営業成績ランキング表(エクセル)」の回答画像6](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/0/215165795_5497ecb402faa/M.jpg)
No.5
- 回答日時:
多分、貴方はピボテの並べ替えをご存じない?
ピボテを作成すると Fig-1 の右図のようになると思います。
(但し、Nameフィールドの集計なし、書式オプションの“列の総計”なし、に設定)
ピボテ内にマウスカーソルを置いて、
1.[ピボットテーブル]→[並べ替えでトップテンを表示]を実行
2.[自動並べ替えオプション]で“降順”を選択
3.[使用するフィールド]で“合計/Amt”を選択
すると、「一瞬で」Fig-2 が得られますけどォ~
![「営業成績ランキング表(エクセル)」の回答画像5](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/2/298588_5497ecb2c7e9b/M.jpg)
No.4
- 回答日時:
No.2です。
>それより、もっと平易な方法はないのでしょうか?
No.3さんが的確な回答をしてくださっていますので、
関数で処理する場合はNo.3さんのような方法になると思います。
>VBAは使ったことがないので、申し訳ないんですがAlt+F11キー → メニュー・・・ここで脱落しま>した。メニューボタンがない・・・。
ここからは試しだと思ってトライしてみてください。
まず、前回のコードを画面上で範囲選択(ドラッグ) → 右クリック → コピー
次にAlt+F11キー → メニューバーの中に「挿入」という項目がありますので、それをクリック
→ そうすると「プロシージャ」・「ユーザーフォーム」という項目が表示されます。
その中に「標準モジュール」がありますので、それをクリック → 白いVBE画面が表示され、カーソルが点滅しています。
白い画面上で右クリック → 貼り付け
これで完了です。
後はExcel画面(Sheet1)に戻って
Alt+F8キー → マクロ名が表示されている画面が表示されますので、「実行」をクリックしてみてください。
※ Sheet1のSheet名はそのまま「Sheet1」という前提のコードです。m(_ _)m
ありがとうございます。
質問しておきながら・・・ですが
いったんピボットデーブルで作成、「値貼り付け」でエクセルに展開、罫線付けてエクセルのランキング表作成・・・が一番手っとり早いですかね。
数百のデータも1分以内にエクセル化できちゃいますので。(ちょっと手作業っぽいですが)
No.3
- 回答日時:
関数で対応するなら、D列を補助列にした以下のような手順が簡単です。
D2セルに以下の式を入力して下方向にオートフィルコピー。
=IF(COUNTIF($B$2:B2,B2)=1,SUMIF($A$2:$A$1000,A2,$C$2:$C$1000)+ROW()*10^-10,"")
G2セルに以下の式を入力し、右方向に1つ下方向に適当数オートフィルコピー。
=IFERROR(INDEX(A:A,MATCH(LARGE($D$2:$D$1000,ROW(A1)),$D$2:$D$1000,0)+1),"")
I2セルに以下の式を入力し下方向にオートフィルコピー
=IFERROR(INT(LARGE($D$2:$D$1000,ROW(A1))),"")
順位のF2セルには以下の式を入力し下方向にオートフィルコピー
=IFERROR(RANK(I2,$H$2:$I$1000),"")
#ご使用のエクセルのバージョンが記載されていませんでしたので、ひとまずExcel2007以降のバージョンで対応できる数式にしました。
Officeソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。
![「営業成績ランキング表(エクセル)」の回答画像3](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/6/1223543_5497e2994e944/M.jpg)
No.2
- 回答日時:
こんにちは!
VBAでの一例です。
元データはSheet1にあり、↓の画像のような配置になっているとして、
Sheet2に表示するとします。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り、マクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)
Sub Sample1() 'この行から
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet1")
With Worksheets("Sheet2")
.Cells.Clear
wS.Range("A:A").AdvancedFilter Action:=xlFilterCopy, copytorange:=.Range("B1"), unique:=True
lastRow = .Cells(Rows.Count, "B").End(xlUp).Row
With Range(.Cells(2, "C"), .Cells(lastRow, "C"))
.Formula = "=SUMIF(Sheet1!A:A,B2,Sheet1!C:C)"
.Value = .Value
End With
With Range(.Cells(2, "A"), .Cells(lastRow, "A"))
.Formula = "=RANK(C2,C:C)"
.NumberFormatLocal = "0位"
End With
.Range("A1") = "順位"
.Range("C1") = "合計"
With .Range("A1").CurrentRegion
.Sort key1:=.Range("C1"), order1:=xlDescending, Header:=xlYes
.Borders.LineStyle = xlContinuous
.Columns.AutoFit
End With
End With
End Sub 'この行まで
※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。m(_ _)m
![「営業成績ランキング表(エクセル)」の回答画像2](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/0/667667_5497e298ebcde/M.jpg)
あ、ありがとうございます。
VBAは使ったことがないので、申し訳ないんですがAlt+F11キー → メニュー・・・ここで脱落しました。メニューボタンがない・・・。
それより、もっと平易な方法はないのでしょうか?
やはりピボットテーブルでやるべきなのでしょうか。
(エクセルでないとその後の変更、加工がやりづらくて仕方ないので質問しました。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの参照について教えてください 1 2022/12/08 16:06
- 野球 パ・リーグの話 1 2022/06/13 11:07
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- Excel(エクセル) エクセル 関数 指定の繰り返しの回数 以降(以前)を削除するには、 2 2022/04/24 10:29
- Excel(エクセル) メモ帳からエクセルにセル区切りで表示させたいんです 7 2023/02/25 22:04
- 野球 WBC日本代表 [2] 1 2022/06/07 21:52
- メディア・マスコミ 次の総理になってもらいたい議員で1位が河野太郎で2位が岸田文雄って毎日新聞等も日本国民を 2 2022/09/18 18:47
- 野球 高校野球の話 1 2022/08/18 09:54
- 政治 誰推しですか?東大率高めですけど 岸田文雄→早稲田大学法学部 山口那津男→東京大学法学部 泉健太→立 4 2022/07/04 03:14
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DATE関数で現在の年齢を出した...
-
エクセルでCtrl+Tでテーブルの...
-
REGEXREPLACE関数について、
-
エクセルのクイックアクセスツ...
-
在庫管理表に使うエクセルの関...
-
職場の人から聞かれており、こ...
-
下記マクロでMsgBox "空白です...
-
Excel関数-文字列で自動作成さ...
-
エクセルでバーコード作成し使...
-
【マクロ】for next構文について
-
ユーザー定義関数をアドイン登...
-
エクセルの関数について教えて...
-
エクセルで表
-
PDFの請求明細をエクセルにしたい
-
Excelデータをコピペして、ペー...
-
スプレッドシート、Excelでの数...
-
エクセルで特定の範囲内から小...
-
Excelで50個のセルに同じ文字を...
-
エクセルで会社の従業員のデー...
-
【マクロ】関数をセルに入力す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報