• ベストアンサー

エクセルの関数について教えてください。

データベースに入力されている顧客の『履歴データ』をエクセルにコピーしました。 エクセルで加工して使おうと思っています。 ただ『履歴データ』のため、同じ顧客が複数あります。 加工のために必要なのは、その履歴に1回でものってきた顧客コードです。 そこで『重複するデータがある場合、1つを残して他のデータを削除する』という関数はないでしょうか? 書式の中に、『重複しているデータに色(パターン)を付ける』というやり方は知っているのですが、1件1件削除していくのは大変な作業ですし、間違って削除してはいけないデータまで削除してしまいそうで不安です。 どうか皆様のお力をお貸しください。 よろしくお願いします。

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

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

http://okweb.jp/kotaeru.php3?q=960076 に似たような質問が出ました。その#2です。 そこでのC列のC2の式を =IF(COUNTIF($A$2:A2,A2)=1,MAX($C$1:C1)+1,"") に変えてやっていただければ、重複しないものを移せ(いわばコピー)ます。参考にしてください。

d_and_c_16
質問者

お礼

ありがとうございます。 さっそく試してみます。

d_and_c_16
質問者

補足

教えていただいた通りにやってみました。 重複しているデータの1つめに数字がつきました。 これで“並べ替え”をすれば、簡単に余分なデータを削除できます。 ありがとうございました。

その他の回答 (2)

noname#49904
noname#49904
回答No.2

 ほとんど同じ質問でした。↓ http://okweb.jp/kotaeru.php3?q=960076

参考URL:
http://okweb.jp/kotaeru.php3?q=960076
d_and_c_16
質問者

お礼

なるほど。 この答えのNo.2の方のやり方で通し番号をつけて、並べかえをすれば、削除するのは楽ですね。 ありがとうございました。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 う~ん。一番手っ取り早いのは、データを顧客順にソートして、上から全部舐めていって1行上のレコードと同じ顧客だったらその行を削除する、というマクロを書く事ではないだろうか。  ただ、「データベースから引っ張ってくる」とあるが、その時点で例えばSQLなどを使って、そもそも引っ張ってくるデータを1顧客1レコードにする方法は取れないだろうか?  DBが何か、どのような方法で引っ張っているのかなどが分かればもう少し詳しい答えができるかも知れないが。  例えば、DBはOracleを使っていて、Microsoft QueryでExcelに直接持ってきている、とか。

d_and_c_16
質問者

お礼

データベースは、アクセスです。 単純にコピー・ベーストでエクセルにもってきました。 元のデータをいじりたくはありません。 いい方法がありましたら詳しく教えてください。 よろしくお願いします。

関連するQ&A

  • エクセルのデータが重過ぎて固まってしまいます。

    役4万5000件のデータベース(アクセス)に新たにデータを追加する際にそのデータが重複しているかどうかを調べるエクセルファイルを作りました。 簡単にエクセルファイルの内容を説明すると、 (1)4万5000件のデータ(名前の部分のみ)を貼り付ける。 (2)追加するデータの一覧(20件程度) (3)countifにより、重複しているデータの件数をカウントする。 (4)1以上のものを重複データとして認識する。 (1)のデータ(名前部)をカタカナのみ・空白部を削除・全角にするためにほかのセルに=JIS(phoetic(substitute((substitute("データ"," "))," ")))のようにしています。 問題は、(1)のデータを貼り付けた際にエクセルがとまってしまうことです。 普通に貼り付けるだけであれば、大丈夫なんですが、貼り付けた際にほかのセルで(1)のデータを加工する関数が入ってるためにとまってしまうようです。 どうにかして、固まらないようにしたいのですが、どのような方法が考えられるでしょうか? よろしければご回答お願いします。

  • Excelの関数で、このようなことができたら教えてください。

    ExcelのVLOOKUP関数を知っているので、使っていたのですが、今回はうまく答えを導くことができません。 VLOOKUPで説明すると、「範囲」にあたる表の一番右に「検索値」があるのです。 この場合、VLOOKUP関数だと答えを出せませんが、ほかにどのような関数がありますか? 質問の内容がわからなかったら聞いてください。 よろしくお願いします。 <念のため補足しておきます> 顧客名/住所/TEL/顧客コード の順に並んでいる表(データベース)を元に、 別の場所に「顧客コード」をキーに、顧客名・住所・TELを参照したいということです。 もとのデータベースのフィールドの並びを変更することはできません。 以上

  • EXCEL 重複データの書き出し

    EXCEL初心者です。ご教示願います。 EXCEL2003を使用しております。 約4000件の顧客データがあるのですが、重複して登録されているデータが複数ございます。 そこで、氏名列をキーにして重複しているデータのみを別シートに抽出させたいのですが、どのようにすれば可能でしょうか? 重複データを削除したやり方や、重複データを除くやり方は掲載されているのですが。。。 ご面倒掛けますが何卒よろしくお願いいたします。

  • エクセルで重複を削除

    エクセルの顧客データが1000行くらいあるのですが、 何件か重複しているものがあります。 それらを見つけ出して、重複している分を削除したいのです。 できるだけ簡単にできる方法をお願いします。

  • エクセル関数について教えてください!!

    エクセル関数について教えてください!! エクセルファイルに以下のようなデータがあります。 A列 B列 C列 あ  A10 100  あ  A10 110 あ  B10 120 い  C10 100 い  D10 100 う  E10 100 あ  B10 120 い  C10 100 A列:販売店 B列:コード C列:売り上げ金額 (合計8000件程度) 販売店毎での売り上げ金額を求めたいのですが、B列のコードが重複しています。 販売店+重複コードは1つに纏めての金額を求める関数を教えていただけますでしょうか。 イメージ あ  A10 210 あ  B10 240 い  C10 200 い  D10 100 う  E10 100 よろしくお願いしますm(_ _)m

  • エクセルの関数

    エクセル関数についての質問です。 A,B,C,D,Eの5つのファイルにそれぞれ1000個のデータが入っています。 このファイルにあるデータは、Aの中でも重複していたり、 同じデータが複数入っている場合もありますし、 異なるファイル間でも同じようにデータの重複や複数のデータが 入っています。 このような状況で、ある特定のデータがどのファイルに入ってるのか 検索をかけ、入っているファイル名を返してくれる関数はあります でしょうか?特に、複数ある場合は、複数返してくれるものが望ま しいです。 説明が下手で恐縮ですが、お知恵を拝借できればと思います。 どうぞ宜しくお願い致します。

  • エクセルの関数を教えてください!

    顧客管理表を作成しました。 その中で、同一ユーザーで複数の商品契約があり、重複データが存在します。(必要) 尚、顧客には担当者がそれぞれ付いています。 この状況で、一人の担当者が持っている顧客が何件なのかを出したいと思っています。 単純に、countifで担当者から割り出すと、重複もカウントするため正確な顧客数が出ません。 逆に、sumproductでやると、担当者を絞り込めません? なので、「countif」で担当者の顧客全体を絞ったあとに、「sumproduct」で重複を除いた件数が出せれば最高です。 色々とネットで調べるのですが、中々探しきれないため質問させていただきました。 よろしくお願いいたします!!

  • エクセルのIF関数の並べ替え

    エクセルで、重複したデータを判定する場合、IF関数を使用し、 重複したデータを判定することができるかと思いますが、 そのデータを、今度は、重複回数が多い順に並べ替えるには、 どうすればよろしいでしょうか。 「目的」 同じ住所で複数の名前があるデータをまずは並び替えをし、 IF関数で、複数分のフラグを立てる。 そのデータを、今度は複数の名前が多い順に並べ替えをしたい。

  • エクセルの関数について教えてください。

    エクセルで1つのデータがあります。 1つめのシートには、   1.コード番号   2.名称   3.郵便番号   4.住所   5.電話番号 のそれぞれのデータが入力されています。 2つめのシートには、   1.コード番号   2.数量 が入力されています。 エクセルの関数を使い、2つめのシートのコード番号の横に、1つめのシートの『名称』や『郵便番号』、『住所』を表示させたいのですが、どういうふうに設定すればよいかわかりません。 『データベース』という関数を使うことはわかるのですが、その先、どう指定すればよいのかわからないのです。 エクセルにくわしい方、教えてください。 よろしくお願いいたします。

  • EXCEL 重複データのカウントについて

    EXCELにて、データをカウントしたいのですが、 重複しているデータは1件とします。 SUMPRODUCT関数を使えばできると思うのですが、 データが、複数のシートにある場合はどのようにしたらよいでしょうか? いろいろ試してみましたが、うまくいきませんでした。よろしくお願いします。

専門家に質問してみよう