• ベストアンサー

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

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

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

  • ベストアンサー
  • yumi0215
  • ベストアンサー率30% (1335/4411)
回答No.11

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

yumi2007
質問者

お礼

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

その他の回答 (13)

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.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.補足 小計、中計、合計と複数の計はグループの基準を順位の低い順に  処理します  このとき、最初の処理を除いて(チェックボックス チェック)現在の小計を全て置き換えるの✓を外します  尚、ファイルを保存するときに、ファイルの種類を「マクロを有効」として保存します ご健闘を

yumi2007
質問者

お礼

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

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.13

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

yumi2007
質問者

お礼

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

  • yumi0215
  • ベストアンサー率30% (1335/4411)
回答No.12

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

yumi2007
質問者

お礼

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

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.10

誰も指摘していない様なので…… まず、名前を岡田→中村→山田の順にしたいと言う事は読み仮名のアイウエオ順に並び替えたいのだと思いますので、読み仮名のデータが無いと出来ません。 単にExcelの機能で名前を並び替える場合、読み仮名ではなくJIS漢字コード順になりますので、岡田→山田→中村 の順になります。 JIS漢字コード順で良ければ、作業セルを使用してセル関数で可能です。

yumi2007
質問者

お礼

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

  • chayamati
  • ベストアンサー率41% (254/607)
回答No.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

yumi2007
質問者

お礼

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

回答No.8

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

yumi2007
質問者

お礼

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

回答No.7

【確認】添付図のようなことがやりたいのかな? 結果は、質問者と並びが違う。理由は、列1と列2を昇順で読み込んだから。 ? DSelect("SELECT DISTINCT F1, F2 FROM [Sheet4$A1:C8] ORDER BY F1, F2",,"|",,False) 中村;フロア|中村;倉庫|山田;フロア|岡田;フロア|岡田;倉庫 SQLを利用すれば、重複を省いてデータを読み込むのは関数一発。後は、どうでも料理可能。 ※SQLを使う気があれば、DSSelect()を紹介するが・・・

yumi2007
質問者

お礼

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

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.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ピボットテーブルを使うのもどうかな。

yumi2007
質問者

お礼

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

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

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

yumi2007
質問者

お礼

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

回答No.4

回答No.3 です。 リンク先が間違っていました… https://dekiru.net/article/15709/ こちらで確認して下さい。

yumi2007
質問者

お礼

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

関連するQ&A

  • 条件で絞込み重複データをカウント:エクセル

    同じような質問があるのですが、どーーーーーしても理解できないので再度質問させてください。 下記のデータで、”赤組”の親の数を数えたいのですが、どうしたらいいのでしょうか。 (つまり双子がいる場合は、親は”1”にしたいのです)   答えは、山田さん、鈴木さん、中村さんの3人。    クラス       親     赤       山田     白       佐藤     赤       鈴木     白       佐藤     赤       山田     赤       中村     白       田中 作業列は使用したくなく、関数だけで解決できますでしょうか? また、エクセルは2003でも使えるものでお願いしたいのですが・・・ どうぞよろしくお願いいたします。      

  • エクセルで重複するセルをみつけるには?

    エクセル2003で A列1行目から順番に青木、岡田、山田のように名前が入力されていて同様に B列1行目から順番に、青木、上田、渡辺のように名前が入力されています A列からB列にある名前と同じものを見つけ出して、その後削除したいのですが どうすればいいでしょうか?

  • エクセルで重複したデータをひとつにまとめる。

    オフィス2010を使用して、エクセルデータの作成をしています。 Sheet1のA列に氏名、B列に金額が入力しています。 A列の氏名には同じ人が重複している場合もあれば 一度だけしか氏名が出てこないひともいます。 B列の金額はバラバラです。 山田 200 池野 300 一条 200 尾本 500 宝田 600 池野 600 吉川 200 増田 800 山田 600 A列の名前で重複しているものについては合計たした数字を、 重複していないものに関しては そのままの数字を求めたいのですが 関数を使用して可能でしょうか? 出来れば別のSheet2でその表を作成したいのですが まったくわかりません。 詳しいかたがいましたら 教えてください。

  • エクセル(CSVでも)文字列内で不要なデータを消す

    山田太郎03-5555-5555 山田太郎(義男さんの息子さん) こういったエクセルデータを、どちらも 山田太郎 に変換処理したいと思います。 よい方法はありますでしょうか。 エクセル関数でもテキストの処理でもよいです。 記号や数字を除くには、 https://excelkamiwaza.com/kigou_del.html などで行けそうですが、 (かっこ)を、中身含めて削除する方法について、困っています。 何かあれば、よろしくお願いいたします。

  • Excelの一覧から重複データを削除したい(関数)

    Excelに関する質問です。 表から重複するデータを削除したいのですが、 並び替えて、重複を目でみて削除するのは大変なので、 「名前」と「郵便番号」が一致するデータに「1」などの フラグを立てる関数を教えて下さい。 もしくは、表の中に「指定した郵便番号」が何個 存在するのかをカウントする関数でも結構です。 ちなみに、表はこんな感じです。 A列、B列、C列の順に 名前   郵便番号 都道府県 住所 山田一郎 630-8888 北海道 札幌市北区新川×× 山田ニ郎 001-1234 東京都 小平市×××××× 山田三郎 555-8888 鹿児島 櫻島時×××××× こんな表があって、全部で500レコードほどあります。

  • エクセル重複データのある列同士の2列を比較したい

    エクセルに詳しい方、教えて頂きたいです。 文で説明すると、難しいので例と一緒に説明させてください。 例えば、下のようなデータがあるとします。 A列 B列 山田さん 栃木県 山田さん 栃木県 山田さん 大阪府 山田さん 栃木県 鈴木さん 三重県 鈴木さん 三重県 大野さん 千葉県 大野さん 東京都 大野さん 東京都 A列はA列で重複したデータがあり、B列はB列で重複したデーターがある場合。 A列 B列 C列 山田さん 栃木県 大阪府 鈴木さん 三重県 大野さん 千葉県 東京都 上ような結果にできる方法はないでしょうか。 例えば住所録をデータで何年分かためており、整理したいが、現在の住所は一つのはずなのに間違えて住所入力したか引越ししたかで複数住所がある。現在はどちらが正しいのか確認するために、その確認資料を作成したい。(同じ名前の人で別人の人はいないとする。) 相違があるかどうかを調べるだけならと、 C列にif関数をいれて見ましたが、ベストな結果ではないと思います。 ちなみに入れた関数は、元のデータのC列目に IF(A1=A2,IF(B1=B2," ","相違あり")," ") 上のIF関数をいれて、下にデータの分だけコピペしました。 エクセルを触るのは久々で、思いつく方法をしてみました。 ですので関数でできるのか、マクロでできるのか、またはエクセルの機能を使用してできるのか、またその方法を教えて頂きたいです。 そんな表にしなくても、こういうのでいいんじゃないの?等の提案でも構いません。 よろしくお願いいたします。

  • エクセルのデータで・・

    ご存じの方教えてください!! エクセルで、1つのセル内に名前とメールアドレスがカンマ(,)で 区切られて入っています。 例 山田太郎,123@456.ne.jp   ←こんな感じです。 これから、別のセルに、アドレスのデータだけ抜き出したいのですが どうしたらできますか? 教えてください~m(_ _)m

  • エクセルでフィルタを使った並べ替え

    エクセルで「フィルタ」から「昇順/降順で並べる」を使うと 例えば、人名で「中村/木下/田中/佐々木/中村/増田/有田」の順で並んでいると7人を例にすると、 五十音順で並べたら「有田/木下/佐々木/田中/中村/中村/増田」となるはずです。 でも「有田/佐々木/中村/中村/増田/田中/木下」のようにバラバラになってしまうのです。 同じ名字の人はかたまるのですが(中村/中村のように)、これが中村と中井だったりすると離れてしまったりします。 これはなぜでしょうか? 直す方法があれば教えて下さい。

  • EXCEL データの各シートへの振り分け

    エクセルの1枚目のシートをデータシートとして、各行に入力していきます。 各行の第1列の数字や言葉に基づいて、2枚目以降のシートに順にコピーさせる方法があるでしょうか 具体的には1枚目のシートはデータシートとして 部門 氏名 住所  人事 田村 東京 総務 太田 京都 人事 山田 大阪 2枚目のシートの名前は「人事」3枚目は「総務」で各シートに行ごとコピーさせたいのです マクロはよくわからないのと最初に開くときに面倒なので、なるべく関数で処理する方法を教えてください。

  • エクセルについて質問です。

    エクセルについて質問です。      社員の出勤表        山田一郎  ○        鈴木三郎  ○        岡田四朗  ○ という表があるとします。そして、○の下に○の合計の数を数字で表示したいのですが、このような表を作る関数を教えてください。

専門家に質問してみよう