アプリ版:「スタンプのみでお礼する」機能のリリースについて

上手く表現出来ずに変なタイトルになってしまいました…

sheet1に顧客全員の名簿があるとします
B列には顧客の氏名、C列には会員のランク(3種類のランク分けがしてあります)
という名簿です。

sheet2にはある商品を購入した購入者名簿があります。
D列に顧客の氏名、その他の列には住所などが入力してあります。
(順番は購入日順なので、バラバラです。)


sheet2の購入者名簿に名前のある顧客の氏名を
sheet1の顧客全員の名簿から探し、C列の会員ランクを
『上得意』と変えたいのですが関数などを使って
簡単に出来る方法ってありますか?


会員数が6000名、商品購入者が200名くらいと
数が多いので1件1件検索すると時間がかかります…

VLOOKUP関数なんかで出来たかなと思ったんですけど
勉強したのがだいぶ前なのですっかり忘れてしまいました。

詳しい方、ぜひいい方法を教えてください。

A 回答 (1件)

>B列には顧客の氏名、C列には会員のランク(3種類のランク分けがしてあります)という名簿です。



顧客氏名しか情報がないので,氏名だけで顧客を特定できる(同姓同名は無い)とします。本来ならお客様番号など,お客様を特定できる情報を用意すべき(もしくは単に書いてないだけでちゃんとあるならそちらをつかう)ところです。


方法1:関数を使いたいなら

シート1のD列に
D2:
=IF(COUNTIF(Sheet2!D:D,B2),"上得意",C2)
と記入して上得意の客は上得意に更新,そうでない客はC列のまま継続させます。
D列をコピーし,C列に「形式を選んで貼り付け」で値のみ貼り付けて上書き更新します。
更新が終わったら,D列は消去します。(もちろん次回の仕事のためにそのまま残しておいても構いません)



方法2:お薦めの方法ですが,皆さんには大概人気がない

まず,「関数を使ってC列のデータを更新する」方法はありません。
C列を直接更新したい場合,ご利用のエクセルのバージョンが不明ですが
Excel2003までを使っているならデータメニューのフィルタから「フィルタオプションの設定」を使い
Excel2007以降を使っているならデータタブの詳細設定を使い
シート1の氏名列をリスト範囲(対象範囲)として設定
シート2の氏名列を検索条件範囲として
絞り込みを行い,絞ったC列をまとめて選んで「上得意」に書き換えます。

#ご利用のエクセルのバージョンに応じて「このように操作します」の手順が違います。ご相談投稿時には,ご利用のソフト名は勿論,ご利用のソフトのバージョンまでしっかり明記することを憶えてください。

操作例:
http://www.eurus.dti.ne.jp/~yoneyama/Excel2007/e …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!