- 締切済み
エクセルを使用して顧客管理を考えています。
(1)顧客を地域ごとに分けたいと考えています。シート1に全顧客データを入力し シート2…名古屋市内 シート3…愛知県 シート4…岐阜県 シート5…静岡県 の項目とします。 シート1のセルに入力した住所から、それぞれ自動で振り分けることは出来ますか?出来るなら、シート1の全顧客データは、そのままの形で残り、コピーされる形で振り分けられるのがベストです。 (2)上記(1)の自動振り分けが出来ると仮定として、入力順ではなく日付順に並べることができるでしょうか?(セルのデータに、機器の納入日付を入力する欄は作ります) これまで、複数のシートを使う内容にチャレンジしたことがないので、分かりやすく説明して頂けると助かります。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- hallo-2007
- ベストアンサー率41% (888/2115)
作業列案です。 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)
考え方ですが、 (1)について シート1がデータシート シート2が表示シートとします。 シート2にA1に表示したい文字を入力 シート2の2行目以降に、シート1に住所の列で、A1に入力した文字が 含まれる列のデータを表示するための関数を入れておく。 応用で、シート名に検索したい文字にして、上記の方法で抽出したデータのみ表示させることもできますが。 (2)については、 データシートを日付順に並び替える 或いは、抽出したシート2のデータをコピィして、 別シートに値で貼り付けた後に並び替える。 エクセルで、VBA使わないパターンでしょう。 VBAで記述しても、さほど長いプログラムにはならないと思いますが。
- TTak
- ベストアンサー率52% (206/389)
可能でしょうが、このような処理はACCESSの方が向いていると思われます。ACCESSで達成されるか、EXCELでVBAを駆使して作るかになると思われます。
お礼
ご指摘ありがとうございます。VBAをどのように使用したら良いのか、一例を挙げて頂けると助かります。
- imogasi
- ベストアンサー率27% (4737/17069)
抜き出し問題です。 それも複数の抜きだし問題です。(今までは1つの質問が多かった) 関数は抜き出し問題は苦手ですので、 作業列を使ったり(県別の通し番号をふる) して複雑な式でやっとというものです。 結果を別の順に関数で並べ替えるのもまた複雑さを加えます。 ーーー こういう問題はフィルタ+コピー張り付けなどするのがエクセルの現状です。 エクセルは手操作で目的を実現するのが主眼のソフトです。 そして計算は数式・関数設定で。 ーー 仕事がらみのこういう課題はVBAでやるものと思います。 ーー つまりエクセルに対する過大期待です。エクセルの勉強が不十分で、したいことだけが膨らんでいる状態と思います。 アクセスでも勉強すればこの課題は簡単です。
お礼
エクセルの勉強が不十分。このご指摘を否定することはできません。 なので、ここで質問をし助けをお願いしているわけです。アクセスは、使用したことがないので、なおのこと分かりません。
- assault852
- ベストアンサー率48% (1364/2797)
マクロ(VBAプログラミング)のことをお尋ねですか。
お礼
マクロが必要になるかと思いますが、内容は問いません。
お礼
ご回答ありがとうございます。表示シートは複数になるのですが、この場合も可能でしょうか?どの様な式になるか、具体例を出して頂けると助かります。