営業成績のランキング表をエクセルで作りたいです。
当然のことながら、手作業ではなく一瞬で変換する方法です。
基本的なことで恐縮ですが、、作成方法教えてください。
よろしくお願いします。
(いつもはピボットテーブルで作成していましたが、エクセルでのランキング表を希望しています)
山田 太郎 北口支店 500
木村 次郎 西山支店 200
山田 太郎 北口支店 300
佐藤 三郎 東支店 1000
佐藤 三郎 東支店 200
山田 太郎 北口支店 600
(実際は膨大なデータです)
↓
1位 山田太郎 北口支店 1400
2位 佐藤三郎 東支店 1200
3位 木村次郎 西山支店 200
A 回答 (6件)
- 最新から表示
- 回答順に表示
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
あ、ありがとうございます。
VBAは使ったことがないので、申し訳ないんですがAlt+F11キー → メニュー・・・ここで脱落しました。メニューボタンがない・・・。
それより、もっと平易な方法はないのでしょうか?
やはりピボットテーブルでやるべきなのでしょうか。
(エクセルでないとその後の変更、加工がやりづらくて仕方ないので質問しました。)
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ソフトはバージョンによって使用できる機能や操作方法が大きく異なりますので、質問の際には必ずバージョンを明記するようにしましょう。
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.5
- 回答日時:
多分、貴方はピボテの並べ替えをご存じない?
ピボテを作成すると Fig-1 の右図のようになると思います。
(但し、Nameフィールドの集計なし、書式オプションの“列の総計”なし、に設定)
ピボテ内にマウスカーソルを置いて、
1.[ピボットテーブル]→[並べ替えでトップテンを表示]を実行
2.[自動並べ替えオプション]で“降順”を選択
3.[使用するフィールド]で“合計/Amt”を選択
すると、「一瞬で」Fig-2 が得られますけどォ~
No.6
- 回答日時:
データにタイトルを追加して、
名前 支店 金額
山田太郎 北口支店 500
データをT1へ登録して、以下のSQLを実行する
SELECT
T1."名前",
T1."支店",
SUM(T1."金額")
FROM T1
GROUP BY
T1."名前",
T1."支店"
ORDER BY
SUM(T1."金額") DESC
お探しの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ランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報