- ベストアンサー
VBAでの重複データ統一についてです。
いつもお世話になっております。VBA初心者です。 過去の質問で、2つのセルの重複データを一つのデータにする処理があったのですが、3つのセルの重複データを1つのデータにするやり方に苦戦しております。 (A列) (B列) (C列) A社 鈴木 男性 B社 田中 女性 A社 鈴木 男性 B社 佐藤 女性 B社 田中 女性 A社 鈴木 男性 ↓↓ (A列) (B列) (C列) A社 鈴木 男性 B社 田中 女性 B社 佐藤 女性 となるようにしたいのです。 サンプルソース等がありましたら、 よろしくお願いいたします。
- keyed
- お礼率73% (17/23)
- Visual Basic
- 回答数3
- ありがとう数2
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2のご回答と似ていますが、1票を投じる意味で (1)データを幸いにソートキーが3つまでなので 手作業でソートする。A,B,C列がキー。取りあえず質問の関連だけなら、優先項目、昇降関係なし。 (2)VBAで最下行(lastr)を知り set sh1=workasheets("sheet1") set sh2=workasheets("sheet2") maekey=sh1.Cells(1,"a") & sh1.cells(1,"b") & sh1.cells(1,"c") j=1 '---------- for i=1 to lastr key=sh1.Cells(i,"a") & sh1.cells(i,"b") & sh1.cells(i,"c") if maekey=key then else sh2.cells(j,"a")=sh1.cells(i,"a") ・・・ maekey=key j=j+1 end if next i
その他の回答 (2)
「過去の質問」を見つけることができたのであれば、それを載せるべきでしょう。 「過去の質問」を意識した質問者の考えと、まったく知らない回答者の考えにずれが生じます。 で、ソースコードじゃないですが、考え方だけ。 A列・B列・C列の優先順でソートする。 先頭行から最終行まで、1行ずつループ。 ループの中で、1つの[変数1]にA列とB列とC列の値を連結したものを入れる。 [変数2]と比べて、内容が違えば別シートに書き出す。 (最初の一発目、変数2の中身は空っぽです) 内容が同じなら何もしない。 [変数1]の内容を[変数2]に移す。 次の行を処理。 ってな感じでどうでしょうか。
お礼
ご回答ありがとうございました。 何とかやりたい処理ができました。
- bin-chan
- ベストアンサー率33% (1403/4213)
列Dに、列Aと列Bと列Cを連結したものを放り込んで、それを対象としては?
関連するQ&A
- エクセルのデータ並べ替え(抽出)の方法
エクセルのデータ並べ替え(抽出)の方法 を教えてください。 下記のようなデータがあるとします。 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愛媛 鈴木 こういうことは可能でしょうか??? 教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ACCESSで重複するデータをまとめたいのですが
ACCESS超初心者です。 ヘルプを見たのですが解決できなかったので、ご質問させてください。 フィールド フィールド1 フィールド2 田中 A 田中 A B 田中 B → 鈴木 A 鈴木 A 佐藤 C 佐藤 C ACCESSで上記のようにデータをまとめたいのですが どのようなテーブル、クエリを組めばよいでしょうか? ご教示願います
- ベストアンサー
- その他(データベース)
- EXCEL2003 重複データに色を付けるVBA
A列のA2からA21に氏名、B列のB2からB21に住所が入力済です。A列で重複しているデータに色をつけて、さらに並び替えをしたいと思います。色は黄色、並び替えの設定は黄色で色を付けたセルがA2から順に表示するVBAを教えていただけませんでしょうか。またお手数でも列をB列、C列に変更した場合についても教えていただけませんでしょうか。VBAコードの貼り付けはできます。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル 重複行色付(VBA)について質問です。
Excelで、2ヶ所の場所を重複しているのかどうかチェックし、重複でしたらその行ごと色を付けたいと思っております。 | A | B | C | D | E | 田中 1046587920 8/2 8/6 100364987 鈴木 1098463612 8/3 8/5 125698001 森川 1548758743 8/20 8/23 103587410 川島 1046587920 8/22 8/23 100365871 森本 1046587920 8/25 8/26 100364987 例えば、上記の様な一覧があり 「B列」 と 「E列」 とで重複を確かめて、同じであれば色が付く様にVBAを組みたいのですが、現在調べて 「B列」 のみの重複に色付けは出来るようになったのですが、2ヶ所重複に色をつけることで困っております。 上の例で行きますと、田中さんと森本さんの行に色が付く形が理想でして、川島さんの、「B列」は該当しておりますが、「E」列が異なるため、色は付きません。 行数は。2万行前後になるのですが、関数を当てると処理が非常に重くなるため、VBAを試みております。 お知恵をお貸し頂けましたら幸いです。
- ベストアンサー
- その他(インターネット・Webサービス)
- excel2003 2列のデータを1列に
エクセル2003にて 下記のように2列のデータを1列に表示させたいと思っております。 A列 B列 C列 田中 佐藤 田中 鈴木 池田 このように> 鈴木 後藤 内藤 後藤 佐藤 池田 内藤 C列に入れる数式をお教えください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルで条件に一致したセルの隣のセルを取得したい
下のような「得点」という名前のシートがあります。 (「田中」のセルがA1です。) [ 田中 ][ 10 ][ 200 ] [ 山田 ][ 21 ][ 150 ] [ 佐藤 ][ 76 ][ 250 ] [ 鈴木 ][ 53 ][ 350 ] 別のシートのA1セルに、「佐藤」と入力すると、 [ 佐藤 ] 「得点」シートから「佐藤」の列を見つけて、B1、C1に [ 佐藤 ][ 76 ][ 250 ] のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。 「得点」シートでは氏名が重複する事はありません。 IF文を使うと思うのですが、いまいち良く分かりませんでした。 よろしくおねがい致します。
- ベストアンサー
- その他MS Office製品
- 重複した(?)セルの内容を一部削除し残りを取り出す
何時も勉強させて頂いております。 現在、エクセルで困っておりお力を借りたく質問させて頂きたいと 思います。 エクセルで帳票などを作成しているのですが、 A | B | C | D リーダー| メンバー | 欠席者 | 最終参加者 佐藤 |鈴木、齋藤、小林 | |佐藤、鈴木、齋藤、小林 見づらいと思いますが、こんな感じで入力しています。 A列にはリーダー(必ず1名)、B列にはメンバー(2~4名程度)、 C列には当日欠席する人がいた場合その人の名前を記入し、D列には A列とB列をあわせた人の名前が入っています(A&"、"&Bという感じで)。 今回分らないのは、C列に【小林】と入った場合、 AとBは変更せずにD列には【小林】を抜いた、 【佐藤、鈴木、齋藤】とだけ表示させたいのです。 ※C列に【佐藤】と【小林】が入った場合は、D列には【佐藤】と 【小林】を抜いた【鈴木、齋藤】とだけ表示させたいと思っています。 重複したデータがあった場合、行単位で消す方法は分るのですが、 【セルの中のデータから同じ名前(重複と考えて)だけを抜き出した 残りのデータだけを取り出す】方法が分からないのです。 このExcelデータを使用する人はパソコンに詳しくなく、 データの入力、削除(セルの内容全て)をするのが精一杯な年配の方で(変更はできない)私としては、ただ入力するだけでOKというデータを 作っているのですが、こういった事はできますでしょうか? データを全部入れなおせば簡単なのですが、 A列とB列はSeet2で使用し、D列はSeet3で使用しており、更に この上のような行が数十行あるのです。。。 どうぞお力をお貸し下さい><
- ベストアンサー
- オフィス系ソフト
- エクセル 重複セルについて
住所リストを制作しておりまして、 全リストから、一定の人を削除したリストを作りたいのですが、 方法が分かりません。 重複しているセルをソートできればと思うのですが、 どなたかお教えいただけますでしょうか? A列 B列 C列 D列 1 住所 田中 太田 2 住所 斉藤 田中 3 住所 太田 木村 4 住所 木村 渡邉 5 住所 小林 B列にある氏名の中にD列の氏名が重複していたら、 下記のようなことができますでしょうか? ●C列に”重複”と出る A列 B列 C列 1 住所 田中 重複 または ●B列と重複するD列のセルが隣に並び変えられる A列 B列 C列 D列 1 住所 田中 田中 なお、A列とB列は一緒にしたいので、 B列だけが並び変えられることは避けたいです。 緊急SOSです! よろしくお願いいたします。
- 締切済み
- その他(ビジネス・キャリア)
- どんどん増えるデータの重複しないデータの個数
A列 B列 1 2 3 6 3 4 a a-1 5 a a-2 6 b b-1 7 b b-2 8 b b-3 9 c c-1 たとえば上記のような表を作りたいと思っています。、 10行目以降もデータは増えていきます。 作業列を作らずにA2セルにA4以降のA列の重複しないデータの個数を 表示させる方法を教えてください。
- ベストアンサー
- Excel(エクセル)
お礼
imogasiさんには何度もご回答いただきありがとうございます。 今回もうまくいきました。