- ベストアンサー
EXCELで重複データの抽出方法
n-junの回答
3.バナナ の数字部分が全角なのか半角なのかよくわからなかったですが、 物は試しに。 Sub try() Dim Dic As Object Dim i As Long, j As Integer Dim v, w Set Dic = CreateObject("Scripting.Dictionary") With Worksheets("Sheet1") v = .Range(.Range("A1"), .Cells(Rows.Count, 2).End(xlUp)).Value ReDim w(1 To UBound(v, 1), 1 To 1) For i = 1 To UBound(v, 1) If Not Dic.exists(v(i, 1)) Then j = Val(StrConv(Split(v(i, 2), ".")(0), 8)) Dic(v(i, 1)) = Array(j, v(i, 2)) ElseIf Dic(v(i, 1))(0) > Val(StrConv(Split(v(i, 2), ".")(0), 8)) Then j = Val(StrConv(Split(v(i, 2), ".")(0), 8)) Dic(v(i, 1)) = Array(j, v(i, 2)) End If Next For i = 1 To UBound(v, 1) w(i, 1) = Dic(v(i, 1))(1) Next .Range("C1").Resize(i - 1, 1).Value = w End With Set Dic = Nothing Erase v, w End Sub 違っていたらごめんなさい。
関連するQ&A
- EXCEL:抽出・シートに分散させる方法
下記の様なデータを元に、各担当者別に用意された売り上げ表の雛形に表示させたい(指定した項目を指定したセルに)のですが、 実現出来る関数はありますでしょうか? オートフィルタ>コピペではなく、毎月の処理になるので自動的に出来る様にしたいのですが。 顧客名 担当者 商品名 金額 A社 佐藤 バナナ 100 B社 鈴木 バナナ 100 C社 田中 メロン 100 A社 佐藤 バナナ 300 A社 佐藤 リンゴ 200 C社 田中 メロン 100 これを↓ Sheet 佐藤 顧客名 商品名 金額 A社 バナナ 100 A社 バナナ 300 A社 リンゴ 200 ------------------ Sheet 鈴木 顧客名 商品名 金額 B社 バナナ 100 ------------------ Sheet 田中 顧客名 商品名 金額 C社 メロン 100 C社 メロン 100 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルでの重複データの抽出とフラグ
エクセルでのデータの作成で困っております 下記のように「送り主」と「届け先」の重複データを抽出し数字を与えたいのですが、どうしてよいか判らず困っております。 教えて頂けますでしょうか ギフト配送先のデータ抽出 送り主 届け先 商品 田中太郎 1 佐藤花子(りんご1個) 田中太郎 1 佐藤花子(みかん1個) 田中太郎 1 佐藤花子(バナナ1本) 田中太郎 2 山本○子(みかん1個) 田中太郎 2 山本○子(バナナ1本) 山本○次 1 鈴木△子(りんご詰め合わせ) 山本○次 2 高橋×子(みかん詰め合わせ) 山本○次 3 田中□子(りんご詰め合わせ) 宜しくお願い致します
- ベストアンサー
- その他(学問・教育)
- エクセルのデータ並べ替え(抽出)の方法
エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。 A B C D 1 田中 東京 千葉 福岡 2 山田 京都 滋賀 3 佐藤 奈良 青森 USA 4 鈴木 カナダ 愛媛 A列は名前、B列以降は文字列です。B列以降はC列までの行、D列までの行とさまざまです。重複セルはありません。 これを下記のように並べ替えたいです。 A B C D 1東京 田中 2千葉 田中 3福岡 田中 4京都 山田 5滋賀 山田 6奈良 佐藤 7青森 佐藤 8USA 佐藤 9カナダ 鈴木 10愛媛 鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELで顧客ごとにファイルを整理しており、ファイルをどこの棚に入れたかを管理するためのデータを作成中です。
EXCELで顧客ごとにファイルを整理しており、ファイルをどこの棚に入れたかを管理するためのデータを作成中なのですが、いい方法があれば教えてください。 データ上は日付ごとに名前と棚の名前があるのですが、ファイルの保管は家族は同じ棚に保管するようになっているので、データを加工する必要があります。 例:Aの列には買い物した日付、Bの列にたくさんの名前が入っており、重複した名前も入っています。Cの列にBの列で重複した名前や家族などで同じグループである名前の人には半角の数字1,2,…などの番号を振ってあり、そうでない人は空欄にしてあります。Dの列にAの棚、Bの棚、Cの棚などの棚の名前が入っています。Eの列に棚ごとに数字を振っており、Aの棚なら半角の数字で1、Bの棚なら2、Cの棚なら3としています。 具体的に図で説明すると、現在のデータ上 A列 |B列 |C列 |D列 |E列 1/2|田中一郎 |1 |Bの棚 |2 1/5|佐藤一郎 |2 |Bの棚 |2 1/10|田中二郎 |1 |Aの棚 |1 1/15|小田二郎 |3 |Cの棚 |3 1/20|佐藤二郎 |2 |Aの棚 |1 1/20|小田一郎 |3 |Cの棚 |3 1/22|田中一郎 |1 |Cの棚 |3 1/25|山本一郎 | |Cの棚 |3 目的としてはCの列で同じグループにした名前のファイルの中で、Eの列で最小の番号にある棚の番号をFの列に表示して、Gの列に棚の名前を表示したいと思っています。 A列 |B列 |C列 |D列 |E列 |F列 |G列 1/2|田中一郎 |1 |Bの棚 |2 | 1 |Aの棚 1/5|佐藤一郎 |2 |Bの棚 |2 | 2 |Bの棚 1/10|田中二郎 |1 |Aの棚 |1 | 1 |Aの棚 1/15|小田二郎 |3 |Cの棚 |3 | 3 |Cの棚 1/20|佐藤二郎 |2 |Cの棚 |1 | 2 |Bの棚 1/20|小田一郎 |3 |Cの棚 |3 | 3 |Cの棚 1/22|田中一郎 |1 |Cの棚 |3 | 1 |Aの棚 1/25|山本一郎 | |Cの棚 |3 | 3 |Cの棚 Fの列の番号さえわかれば、Gの列の名前は関数を使えば表示できるのですが、Fの列の番号を表示するのは現在手作業でやっており、数も多く大変なので関数かマクロで簡単に出来ないかと思っています。 マクロはあまり得意ではないので、もしマクロの場合はできたらVBAのコメントを入れていただければありがたいです。
- ベストアンサー
- オフィス系ソフト
- エクセル 複数行にまたがっているデーターを一つの行にまとめたい
A列 B列 C列 1行目 佐藤 北海道 りんご 2行目 佐藤 北海道 ばなな 3行目 伊藤 東京 いちご 4行目 伊藤 東京 ばなな 上記のようなデーターがあります。これを2行目と4行目を削除し下記のようにしたいのですが A列 B列 C列 1行目 佐藤 北海道 りんごばなな 2行目 伊藤 東京 いちごばなな A列とB列のデーターが同じでC列のデータが異なる場合、上記のように一行にまとめたいのです。関数やVBAで上記の処理を出来る方法がありますでしょうか。
- ベストアンサー
- オフィス系ソフト
- エクセルで同じ言葉が入っているセルの中でのランクづけ
エクセルで同じ言葉が入っているセルの中でのランクづけ いつもお世話になっています。 このようになっている表があります。 A B C D E 001 田中 りんご 3.8 002 山田 りんご 2 003 佐藤 なし 3.1 004 鈴木 桃 1.2 005 小林 なし 0.8 006 大田 りんご 3.5 007 加藤 桃 2.4 008 磐田 桃 1.9 のようにA列に数字B列に名前C列に言葉D列に数字が入っているのですが、E列に 「「りんご」を選んだ人の中でのDの数字の順位」を入れたいのです。 具体的には A B C D E 001 田中 りんご 3.8 1 002 山田 りんご 2 3 003 佐藤 なし 3.1 1 004 鈴木 桃 1.2 3 005 小林 なし 0.8 2 006 大田 りんご 3.5 2 007 加藤 桃 2.4 1 008 磐田 桃 1.9 2 となってほしいのですが、可能でしょうか?ランクは数字の大きい方が上位です。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで対象のものを重複しているのもを省いて1つだけ取り出す方法
エクセルの表で次のようなことをしたいのですが どのようにしたらいいのか教えて下さい。 Aの列に大きな項目、Bの列に小さな項目があるとします。 大きな項目の1種類を選んでそれに該当するB列のものを抜き出したいのですが 重複しているものは1つだけを取り出したいのです。 例えば A B 野菜 にんじん くだもの バナナ くだもの りんご 野菜 じゃがいも くだもの バナナ と、いう表があったとして Aで「くだもの」となっている行のB列に書かれているものをC列に抜き出すとします。 その際、重複しているものは、いくつも抜き出さず1つだけ抜き出したいんです。 つまり C バナナ りんご とする方法です。 重複がない時は オートフィルタでA列でくだものを選びBをコピーし貼り付けを行っていたのですが 重複がある時はそれだけではとても面倒ですし しょっちゅうすることなので、重複がなかったとしてももっと作業を簡素化したいと思っているのですが 簡単に行う方法はありますか? 知っている方がいらっしゃいましたらぜひ教えて下さい。
- 締切済み
- オフィス系ソフト
- エクセルでデータの検索
現在 sheet1に A列 B列 C列 あ い う え お と入力されています Sheet2には A列 B列 あ りんご い ばなな あ みかん う うめ い なし と入力されています。 sheet1のA列を検索条件として A列と一致するsheet2にあるものをその横の列に表示されるようにしたいです。 A列 B列 C列 あ りんご みかん い ばなな なし う うめ このような場合、一致するものは複数あるため VLOOKUPは使用できません。 どのようにすれば、このような検索ができるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 外部結合について
外部結合に関する質問です。 表A | 表B ID 名前 | ID 所持品 1 田中 | 1 りんご 2 佐藤 | 1 バナナ 3 鈴木 | 3 バナナ このように「誰が、何を持っているか」を表した表AとBがあるとき、 以下の条件でデータを取得したいと考えております。 ・ 所持品がある人は、名前と所持品の組み合わせを表示 ・ 所持品がない人は、名前だけを表示 ・ りんごをもっていない人は、名前と所持品の組み合わせに 加え名前だけの結果も表示 ・ UNIONは使いたくない ( 欲しい結果 ) 名前 所持品 田中 りんご 田中 バナナ 佐藤 (空) ← 所持品なし 鈴木 バナナ 鈴木 (空) ← りんごなし SELECT A.名前, B.所持品 FROM A, B WHERE A.ID = B.ID(+) では『鈴木 ( 空 )』 が取得できません。。。 UNIONを使えばできたのですが、都合上UNIONを使わず 上記のような結果を取得したいと考えています。 どなたかお知恵をお貸しいただけませんでしょうか。 よろしくお願いします。
- ベストアンサー
- Oracle
- エクセル 重複数字の書き換えについて
シート1のA列に番号(重複番号あり) B列に項目。シート2のA列に番号(重複番号なし) B列に項目。シート2の順番を正としてシート1のA列重複番号をVBAで書き換えるには、どうしたらよろしいか。 【シート1】 【シート2】 【シート1】 1 りんご 1 バナナ 3 りんご 2 バナナ 2 すいか 1 バナナ 2 バナナ 3 りんご ⇒ 1 バナナ 2 バナナ 1 バナナ 3 すいか 2 すいか
- ベストアンサー
- Excel(エクセル)