• 締切済み

エクセルを使用して顧客管理を考えています。

(1)顧客を地域ごとに分けたいと考えています。シート1に全顧客データを入力し シート2…名古屋市内 シート3…愛知県 シート4…岐阜県 シート5…静岡県 の項目とします。 シート1のセルに入力した住所から、それぞれ自動で振り分けることは出来ますか?出来るなら、シート1の全顧客データは、そのままの形で残り、コピーされる形で振り分けられるのがベストです。 (2)上記(1)の自動振り分けが出来ると仮定として、入力順ではなく日付順に並べることができるでしょうか?(セルのデータに、機器の納入日付を入力する欄は作ります) これまで、複数のシートを使う内容にチャレンジしたことがないので、分かりやすく説明して頂けると助かります。よろしくお願いします。

みんなの回答

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.5

作業列案です。 Sheet2が表示用で、D1に名古屋市とでも入れておきます。 Sheet1がデータでA列に名前、B列に住所の場合 C2に =IF(ISERROR(FIND(Sheet2!D$1,Sheet1!B2,1)),"",ROW()) で下フィルすると、住所に名古屋の文字が含まれている行のみ その行数がでて、他は空白になります。 Sheet2のA2に =INDEX(Sheet1!A:A,SMALL(Sheet1!$C:$C,ROW(A1)),1) で右フィル、下フィルしてみてください。 実際は、ご自身のデータに合わせてください。 また、津市の市名だけで、抽出すると大津市も表示されたりすると思います。ご注意ください。 後は、複数のシートにコピィしてください。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

考え方ですが、 (1)について シート1がデータシート シート2が表示シートとします。 シート2にA1に表示したい文字を入力 シート2の2行目以降に、シート1に住所の列で、A1に入力した文字が 含まれる列のデータを表示するための関数を入れておく。 応用で、シート名に検索したい文字にして、上記の方法で抽出したデータのみ表示させることもできますが。 (2)については、 データシートを日付順に並び替える 或いは、抽出したシート2のデータをコピィして、 別シートに値で貼り付けた後に並び替える。 エクセルで、VBA使わないパターンでしょう。 VBAで記述しても、さほど長いプログラムにはならないと思いますが。

goto-shin_1976
質問者

お礼

ご回答ありがとうございます。表示シートは複数になるのですが、この場合も可能でしょうか?どの様な式になるか、具体例を出して頂けると助かります。

  • TTak
  • ベストアンサー率52% (206/389)
回答No.3

可能でしょうが、このような処理はACCESSの方が向いていると思われます。ACCESSで達成されるか、EXCELでVBAを駆使して作るかになると思われます。

goto-shin_1976
質問者

お礼

ご指摘ありがとうございます。VBAをどのように使用したら良いのか、一例を挙げて頂けると助かります。

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

抜き出し問題です。 それも複数の抜きだし問題です。(今までは1つの質問が多かった) 関数は抜き出し問題は苦手ですので、 作業列を使ったり(県別の通し番号をふる) して複雑な式でやっとというものです。 結果を別の順に関数で並べ替えるのもまた複雑さを加えます。 ーーー こういう問題はフィルタ+コピー張り付けなどするのがエクセルの現状です。 エクセルは手操作で目的を実現するのが主眼のソフトです。 そして計算は数式・関数設定で。 ーー 仕事がらみのこういう課題はVBAでやるものと思います。 ーー つまりエクセルに対する過大期待です。エクセルの勉強が不十分で、したいことだけが膨らんでいる状態と思います。 アクセスでも勉強すればこの課題は簡単です。

goto-shin_1976
質問者

お礼

エクセルの勉強が不十分。このご指摘を否定することはできません。 なので、ここで質問をし助けをお願いしているわけです。アクセスは、使用したことがないので、なおのこと分かりません。

  • assault852
  • ベストアンサー率48% (1364/2797)
回答No.1

マクロ(VBAプログラミング)のことをお尋ねですか。

goto-shin_1976
質問者

お礼

マクロが必要になるかと思いますが、内容は問いません。

関連するQ&A