• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:顧客データの一元化の仕方について)

顧客データの一元化の仕方について

このQ&Aのポイント
  • 顧客データの一元管理について、ExcelやAccessを使用する方法を検討しています。
  • Excelで作成された顧客住所録、アクション履歴、注文状況を一括管理し、対応状況と注文状況を確認できるようにしたいです。
  • Excelの範囲内で対応できると良いですが、Accessを勉強してみることも考えています。実際の事例に合わせて組み立てる方法や参考テンプレートを教えてください。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

エクセルの使い方にあまり慣れていないのでしたら、変にムズカシイことをしないでジミチに丁寧に関数で作成していった方が慣れているので良いと思います。 たとえば添付図は(小さくなって見えにくいと思いますが) 活動履歴、取引実績、抽出結果 という3枚のシートを(簡単のため1つのブックに束ねて)用意します。 活動履歴のB,C,D列にそれぞれ「日付」、「顧客ID」、「顧客名」が記入してあります A2セルには =C2&TEXT(COUNTIF($C$2:C2,C2),"-000;;;") という数式を記入して、顧客ごとの活動記録を検索するためのユニークな番号を計算して表示させています 取引実績のB,C,D、E…列はそれぞれ「日付」、「顧客ID」、「顧客名」、「商品」…が記入してあります A2セルには =C2&TEXT(COUNTIF($C$2:C2,C2),"-000;;;") という数式を記入して、顧客ごとの取引履歴を検索するためのユニークな番号を計算して表示させています 抽出結果のシートの、たとえばB1セルに顧客IDを記入すると、活動履歴と取引実績を検索して表示します A6セルには =IF(ISERROR(MATCH($B$1&TEXT(ROW(A1),"-000"),活動履歴!A:A,0)),"",ROW(A1)) B6セルには =IF(A6="","",VLOOKUP($B$1&TEXT(A6,"-000"),活動履歴!A:E,2,FALSE)) C6セルには =IF(A6="","",VLOOKUP($B$1&TEXT(A6,"-000"),活動履歴!A:E,5,FALSE))&"" 以下コピー 右半分も同様に E6セルには =IF(ISERROR(MATCH($B$1&TEXT(ROW(A1),"-000"),取引実績!A:A,0)),"",ROW(A1)) F6セルには =IF(E6="","",VLOOKUP($B$1&TEXT(E6,"-000"),取引実績!A:E,2,FALSE)) G6セルには =IF(E6="","",VLOOKUP($B$1&TEXT(E6,"-000"),取引実績!A:E,5,FALSE))&"" 以下コピー のようにしています。 言わずもがなですが、各情報シートをブックを分けて作成していても、単純にブックをまたいだ数式を作成するだけです。 練習のためサンプル通りにまず作成してみて、それから改めてアナタの本番を作成しなおしてみて下さい。

conny5151
質問者

お礼

keithin様、再度ご回答ありがとうございます。 丁寧な画像と解説を付けてくださって、ありがとうございます。感動しました。 ご説明いただいた内容で今作成してみましたが、画像と同じように作成することができました。 (わからないものを調べながらだったので、遅くなりました) 自分のものに利用するのには、もちろんもう少し修正が必要ですが、新たにどこがアレンジが できるかなども少しわかってきました。 さっそく今日からExcel頑張ってみます。本当にありがとうございました。

その他の回答 (2)

回答No.2

>顧客情報の対応状況と注文状況を一度に確認できるようにしたいです。 質問者さんにもいろんな方がいらっしゃって、その方の趣向により気に入っていただける機能がバラバラなのですが…。 いちばん簡単で、頻繁に使用され、とりあえず目的が果たせそうなのは、「フィルタ」(古いバージョンでは「オートフィルタ」)を使うことです。これに加えて、「ピボットテーブル」といくらかのワークシート関数を使えば、もう少し気の利いたこともできます。が、これは後回しでもいいでしょう。 ただ、フィルタの前に、データベースを1つの表として「しっかり」作るということが肝要です。項目を細分化して入力すべき列をたくさん用意し、異なるレコードの同じ項目にあるデータが同一であっても省略せずにコピペし、データの揺らぎ(スペースなど余分な文字の不規則な混入、全角/半角の不統一など)は、「置換」の機能で文字列を置換/削除/付加することにより、統一された表記とします。 >あわよくば、宛名ラベルの印刷と、顧客No.か名前で検索や自動入力ができると大変ありがたいです。 どれもこれもExcelで作れると思います。でも覚えないといけないことが多そうなので、順を追ってですね。質問として出されるなら、それぞれの件を個別にお尋ねください。 Accessも良いと思いますが、その程度の少量のデータなら、Excelでも十分そうですし、かえって操作・動作もお手軽です。覚えないと何もできないという事情は、Accessであっても同じです。

conny5151
質問者

お礼

ご回答ありがとうございます。 質問自体があやふやで申し訳ありません。 ただ、データの分量的にも、内容的にもExcelでまかなえるようで安心しました。 ご指摘の点(表の作り方について)、つい最近まで骨を折ってやっていた作業で、 過去歴代の担当の方が思い思いに入力してきていたので、オートフィルタをかけても 全角と半角で別に判断されてしまったり、郵便番号に―が入っていたりいなかったりで 統一するのに時間がかかりました…。 せっかくそれらしい形になったので、もう少し踏み込んで整理ができるように なりたいと思います。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

思いつきでヤリタイことをバラバラと垂れ流しているような、「何がしたい」とか絞り込めてないご相談ですね。回答する方も「アイデア出しからその解決手段まで、一から十まで手を引いていく」のは、ちょっと荷の重い仕事じゃないでしょうか。 結局?「一元管理」とは、該当する顧客へのアクション履歴等を素早く一覧表に抽出したい、という事なんでしょうか。 出来ることその1:(推奨) フィルタオプションの設定(ご利用のエクセルのバージョンも不明ですが、Excel2007以降ならフィルタグループの詳細設定)とマクロを併用して、顧客番号あるいは顧客名を記入すると、ほかのリストから該当データをぱぱっと抽出して表示する、みたいなことができます。 出来ることその2:(簡易) それぞれのリストにオートフィルタを取り付けて、顧客名や顧客番号で絞り込んで表示するようなことは簡単にできます。 マクロを併用して自動化するようなことも比較的容易にできます。 できることその3:(推奨。もっとも簡単) それぞれの活動リストに「顧客No-顧客ごとの通し番号」(たとえばA001-001などのように)を計算で追記しておき、VLOOKUP関数で引っ張ってきて並べさせるようなことは、エクセルの初歩の関数だけで簡単にできます。 できることその4:(現状ではあまり意味がない) エクセルで「外部データの取り込み」(SQL)を使い、該当データを抽出するようなこともできます。

conny5151
質問者

お礼

ご回答ありがとうございます。 仰る通り私自身もどうしたいのかがうまく説明できず、 回答者様にご負担になってしまい申し訳ありません。 自分で方法を調べようにもうまく検索できないのは、その辺にもあると思います。 現状は、とあるお客様について調べる場合、それぞれのブックをパタパタ開き、 1連絡先はどこで、2どんなお付き合いがあって、3どれくらい注文がある、 というのをそれぞれ検索して確認してたのですが、 顧客ごとに一発で確認できたらいいのになぁ、と考えたのがそもそもの発端です。 教えていただいた「できること」4つの中で、職場のExcelのバージョンが2003なので、 「その3」をもう少し調べて、今のリスト達を効率的に利用できるようにしたいと思います。 (本当は「その1」ができるといいのですが、家の2007で練習します) 初心者極まりなくて申し訳ありませんが、またアドバイスがありましたら、 ぜひよろしくお願いいたします。

関連するQ&A