こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで重複データを並べ替えたい

上手く説明できないので、具体例で・・・(たぶんどこかに同じ質問があるかと思うのですが、どうしても見つけられず、、、)
山田 フロア  50
岡田 倉庫  10
中村 フロア  40
山田 フロア  20
岡田 フロア  30
岡田 倉庫   20
中村 倉庫   20
中村 フロア  10
というデータを
岡田 倉庫   30
岡田 フロア  30
中村 倉庫   20
中村 フロア  50
山田 フロア  70
という風にまとめた挙げ句に左端の名前は昇順に並べたいと思っているのですが・・・
エクセルの関数で処理することはできるでしょうか

どうぞよろしくお願い致します

投稿日時 - 2019-02-19 16:02:49

QNo.9589475

すぐに回答ほしいです

質問者が選んだベストアンサー

ピボットテーブルを使われるのは問題がありますでしょうか?
並べ替えも表示方法も、もちろん計算や集計もお望みどおりの結果を出せるし、スライサーを利用すればその時に知りたい情報をすぐに出せるので便利だと思うのですが。
並べ替えも自動でやってくれるので関数でないといけない。という事ではないのでしたらいいと思いますよ。

投稿日時 - 2019-02-20 15:04:52

お礼

ありがとうございます!ピポットテーブルでばっちりです!
・・・追加のご質問になって恐縮ですが、ピポットテーブル同士を更に集計することってできるのでしょうか?
上記データですと、複数ピポットテーブルにある
岡田 倉庫   30
のデータの更に合計を出す、ということです。
(30の他に40,50があったら、120という数値を出すということです)


・・・って、これは”このユーザに質問する”なのでしょうか?
他の方でもおわかりになればいいので、この場所でいいのでしょうか?
・・・使い方がわかってなくてすみません。。。

投稿日時 - 2019-02-23 15:19:33

ANo.11

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(14)

ANo.14

こんにちは 回答No.13の続きです
小計ツールは見つかりましたか?添付図を見て下さい。
3.マクロを実行する
 これには何種類か方法があります
3-1.ボタンをsheets上に貼り付けてこれとマクロを関連付ける
 省略します。興味があれば新しくQを立ち上げて下さい
3-2.作成したマクロを実行する
 [開発タグ]→[マクロ]→[マクロを選択]→[実行]
3-3.Worksheetダブルクリックでマクロを起動
 関数の中に別の関数を内包する入れ子のようにVBAでも入れ子が可能です
 この入れ子をサブルーチンと呼びます
 [開発]→[コード]→[左上のGeneralをWorksheet変更]
 →[右上のSelectionChangeをBeforDublClickに変更]
 →[PrivateSub…とEnd Subの空白行にマクロ名を行末の()抜きで記入]
 →[右上角の✖でコードを閉じる]
 マクロ名を集計処理()としたのが下記です
--------------------------------------------------------------------
 Option Explicit
 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
集計処理
 End Sub
--------------------------------------------------------------------+
4.補足 小計、中計、合計と複数の計はグループの基準を順位の低い順に
 処理します
 このとき、最初の処理を除いて(チェックボックス チェック)現在の小計を全て置き換えるの✓を外します 
尚、ファイルを保存するときに、ファイルの種類を「マクロを有効」として保存します

ご健闘を

投稿日時 - 2019-02-24 10:50:37

お礼

本当に何度もありがとうございます。感謝のしようがありません。。。
なんとか頑張っています。

投稿日時 - 2019-03-16 10:10:42

ANo.13

>ちょっと難しいですが、勉強してみます。
 説明が足らずに申し訳ありません
 回答のコードは私が記述したのではありません
 Excelの「マクロ」とは
 手作業の手順をVBAに記録してくれると理解して下さい
1.手作業は
1-1.表を氏名順、場所順に並べ替える
  並び替えは順位の低い項目から高い項目へ
  添付図参照(作業は[]内をクリックで進めます
 [B2]→[データ]→[昇順]→[A2]→[昇順]
 これで、期待通り並びます。
 ただし表の中に空白のセルがあると分類はそこで止まります
1-2.小計をとる
 →[小計:データタブの右端]
 →[グループの基準、合計方法、集計フィールドを確認してOK]
この手順でマクロ作成します。
2.マクロ作成
→[開発タブ]→[マクロの記録]→[マクロ名入力]→[1.の手順]→[記録終了]

投稿日時 - 2019-02-24 00:36:41

お礼

なるほど!マクロの記録だったのですね!それならわかります!
何度もご丁寧にありがとうございます!

投稿日時 - 2019-02-26 14:21:32

ANo.12

NO11です

では、ピボットテーブルを使い、データの統合をご利用されてみてはいかがでしょうか。
リンクをしておけば更新もしくは開き直しをするたびに最新総計数が表示されます。

投稿日時 - 2019-02-23 20:21:56

お礼

ピポットテーブルでデータの統合、ですね。ちょっと調べてみます!
・・・・全然無知なもので。。。
とりあえずデータの統合はわからなかったので、手作業でしましたが、ピポットテーブルは大変使いやすかったです!
ありがとうございました!

投稿日時 - 2019-02-26 14:20:30

ANo.10

誰も指摘していない様なので……

まず、名前を岡田→中村→山田の順にしたいと言う事は読み仮名のアイウエオ順に並び替えたいのだと思いますので、読み仮名のデータが無いと出来ません。
単にExcelの機能で名前を並び替える場合、読み仮名ではなくJIS漢字コード順になりますので、岡田→山田→中村 の順になります。

JIS漢字コード順で良ければ、作業セルを使用してセル関数で可能です。

投稿日時 - 2019-02-20 11:39:49

お礼

ありがとうございます。勉強になりました。
今回の本データはアルファベットなので大丈夫かと思います。

投稿日時 - 2019-02-23 15:15:12

ANo.9

お早うございます。
マクロの記録で、並び替えから小計ツールを使いました。

Sub 報告書作成()
'並び替え
Range("A2:C9").Select
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sheet1").Sort
.SetRange Range("A2:C9")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'集計 データタグの右端アウトライン内の小計のツール
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
End Sub

投稿日時 - 2019-02-20 07:49:03

お礼

ありがとうございます!ちょっと難しいですが、勉強してみます。

投稿日時 - 2019-02-23 15:13:46

ANo.8

【補足】なお、グループ毎に集計して昇順に並び替えるも出来る!

投稿日時 - 2019-02-19 22:16:02

お礼

ありがとうございました。

投稿日時 - 2019-02-23 15:12:32

ANo.7

【確認】添付図のようなことがやりたいのかな?

結果は、質問者と並びが違う。理由は、列1と列2を昇順で読み込んだから。

? DSelect("SELECT DISTINCT F1, F2 FROM [Sheet4$A1:C8] ORDER BY F1, F2",,"|",,False)
中村;フロア|中村;倉庫|山田;フロア|岡田;フロア|岡田;倉庫

SQLを利用すれば、重複を省いてデータを読み込むのは関数一発。後は、どうでも料理可能。

※SQLを使う気があれば、DSSelect()を紹介するが・・・

投稿日時 - 2019-02-19 21:37:29

お礼

ありがとうございます。難易度が高いですが、少し勉強してみます!

投稿日時 - 2019-02-23 15:12:22

ANo.6

Office365のエクセルでは、Sort関数が、入った。
https://support.office.com/ja-jp/article/sort-%E9%96%A2%E6%95%B0-22f63bd0-ccc8-492f-953d-c20e8e44b86c
とうとうSortなどの機能が、エクセル関数の世界に、入ってきた。
VBAを使わなくても良い場面が増える。
ーー
GoogleApsでも先行していた。
http://hito-ride.com/?p=3660
こういうソフトを使えば、この問題も考えやすくなるのでは。
ーー
Excelピボットテーブルを使うのもどうかな。

投稿日時 - 2019-02-19 19:57:01

お礼

ありがとうございました。
sort関数は知らなかったので、勉強してみます!

投稿日時 - 2019-02-20 11:20:02

ANo.5

何がしたいのか?
(1)データを並べ替えてひょうじしたいのか?
(2)A,B列の2列を組み合わせた分類の係数を出したいのか。?
(1)は並べ替え操作で、(2)は、SUMIFS関数でできるのではないか。
もっと、質問の表現法を勉強のこと。こんな個別の質問を解決する以前のことだと思う。
 並べ替えは、エクセル関数では、まどろっこしい、不適な方法です。

投稿日時 - 2019-02-19 19:01:33

お礼

わかりにくくてすみませんでした。
並べ替えは、エクセル関数では不向きなのですね。ありがとうございました。

投稿日時 - 2019-02-20 11:16:05

ANo.4

回答No.3 です。
リンク先が間違っていました…

https://dekiru.net/article/15709/

こちらで確認して下さい。

投稿日時 - 2019-02-19 18:44:35

お礼

ありがとうございました!

投稿日時 - 2019-02-20 11:14:59

ANo.3

タイトルと、質問内容と、
他回答者様に対するお礼コメント
の内容がバラバラな気がしますが…

要は、
二重条件(質問例の場合 名前と場所) に
あてはまる数値の合計値を出したい
ということでしょうか?

だとすれば
SAMIFS 関数はいかがでしょう?
https://dekiru.net/article/15695/

投稿日時 - 2019-02-19 18:26:41

お礼

はい。。。私も投稿した後にタイトルを見て、しまった、、、と思いました。。。お礼コメントを含め、、、すみません。。。。

SAMIFだと名前のソートはその後自分でする必要があるかな、と思いましたが、考えてみたら、それもありかもしれません。。。

ありがとうございました。

投稿日時 - 2019-02-20 11:13:42

ANo.2

WDY

1:普通にA列とB列をコピーして
2:重複を削除して
3:SUMIFで合算する
のではなく
関数だけで処理をするのでしょうか?

普通に操作するのでも上記の様に3手順かかります。
毎回行うのでなければ手動で作った方がいいです。

毎回行うのであればVBAで組むのをお勧めします。


どうしても関数だけで処理でなければならないのであれば
・A列とB列を連結した文字列を作成し
・その文字列のに対応するC列をSUMIFをして
・SORTで並べ替え一覧を作成し
・RANKでランキングを作成し
・COUNTIFで重複があるものを探し
・重複以外の一覧を表示する
という形になると思います。

この順序で作れるとは思いますが
見て分かる様に非常に分かりにくく
計算結果を元に次の計算、その計算結果を元に・・・・
となり現実的ではなく、沢山データがある場合は恐らくExcelが止まると思います。


手動またはVBAで頑張ってみてください。

投稿日時 - 2019-02-19 17:14:00

お礼

ありがとうございました。
・・・データが度々発生し、都度並べ替えと合計を出さないといけないので、できれば手動じゃない方法がいいな、と思い質問をさせていただきました。

投稿日時 - 2019-02-20 11:10:38

ANo.1

関数ではありません
添付のように、データタグに並べ替えのツールがあります
アクティブにした左側が上位になります。
尚、入力した情報には、ふりがながついていますが、
 コピペした情報にはふりがながついていません

投稿日時 - 2019-02-19 16:51:27

お礼

早速のお返事ありがとうございます。
説明不足でしたが、並べ替えた後に同じ項目のものは合計したいのです。

投稿日時 - 2019-02-19 17:05:37

あなたにオススメの質問