• 締切済み

エクセルについての質問です。リラクゼーションサロンの経営をしています。

エクセルについての質問です。リラクゼーションサロンの経営をしています。エクセルで顧客管理をしていて、お客様のセルに、新規、フリー、指名の3種類の文字がずらっと入力されています。その隣にお客様の名前、その隣に対応したスタッフ名、日付が入力されています。 (1)各スタッフ、新規のお客様をリピータ(フリー、又は指名)にさせた数を数えるにはどうしたらいいですか?下図の場合、スタッフ山本は1、高橋1、太田0となる   A    B    C     D 1新規  鈴木太郎様  山本  2010/10/19 2新規  佐藤花子様  高橋  2010/10/19 3フリー 佐藤花子様  太田  2010/10/20 4指名  鈴木太郎様  山本  2010/10/20  5新規  田中次郎様  太田  2010/10/21 6指名  鈴木太郎様  山本  2010/10/21

みんなの回答

回答No.6

ご苦労様です。 数を数えるのは=COUNT(範囲)というのを使います。 行を保持してカウントするとかとなると(Aが新規で且つDが2010/10/19のものの数)とかになると他の方々が回答していらっしゃるように マクロや条件付き書式と使いこなさないと難しくなります。

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

補足要求。 こういう質問をする場合、データを回答者に放り投げるのでなく、カウントしたい状態を説明すべきだ。ルールは質問者にしか正確にわからないじゃないか。 フリーとはどういう状態・ケースか?回答者にとって常識ではないでしょう。 単純に1行のデータの項目で判断してはダメなのでしょう? この期間以前に新規になり、この期間にフリーか指名になればカウントするのか。 新規のときの担当者がわからないので判断できないのかな。 新規と指名が別担当で起こったときはどうするのか。 こういった色々な場合のルールを説明すべきだ。 前後関係は考慮するのでしょうね。同一人である必要があるのかな。同一担当者でない場合をどう考えるのか。 除外する行はどういうものか説明してもらうのも良いかもしれない。 お客でソートしてみて 新規 佐藤花子様 高橋 2010/10/19 フリー 佐藤花子様 太田 2010/10/20 新規 田中次郎様 太田 2010/10/21 新規 鈴木太郎様 山本 2010/10/19 指名 鈴木太郎様 山本 2010/10/20 指名 鈴木太郎様 山本 2010/10/21 山本は鈴木氏を新規ー>指名にしたから、鈴木氏1名該当、 大田は佐藤氏はフリーのみで実績0名、 大田は田中氏は新規のみで実績0名、 高橋は佐藤氏の新規のみなので実績0名 考えることは、こんな風なのかな?

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.4

新規とフリーと指名の明確な区別がよく解っていませんが・・・ カウントの条件も曖昧なので確認させてください。 各スタッフごとに、あるお客さんを新規⇒フリー、または、新規⇒指名にした人数を数える、ということでよろしいですか? 例では、佐藤花子は新規からフリーになっていますが、新規の担当は高橋、フリーの担当は太田になっています。この場合、高橋と太田、どちらのカウントになりますか? 山本が1なのは解りますが、高橋が1で太田が0になる理由を教えてください。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 今仮に、元の顧客管理表が存在しているSheetをSheet1だとして、Sheet2に各店員が新規のお客様をリピーターにした回数を表示するものとします。  又、Sheet3のA列とB列を作業列として使用するものとします。  まず、Sheet3のA1セルに次の数式を入力して下さい。 =IF(COUNTIF(Sheet1!$C$1:$C1,Sheet1!$C1)=1,ROW(Sheet1!$C1),"")  次に、Sheet3のB1セルに次の数式を入力して下さい。 =IF(AND(OR(Sheet1!$A2="フリー",Sheet1!$A2="指名"),SUMPRODUCT(((Sheet1!$A$1:$A1="フリー")+(Sheet1!$A$1:$A1="指名"))*(Sheet1!$B$1:$B1=Sheet1!$B2))=0),Sheet1!$C2,"")  そして、Sheet3のA1~B1の範囲をコピーして、同じ列の2行目以下に、Sheet1の行数を上回るのに充分な行番号になるまで貼り付けて下さい。  次に、Sheet2の A1セルに「店員」 B1セルに「初リピーター獲得数」と入力して下さい。  次に、Sheet2のA2セルに次の数式を入力して下さい。 =IF(ROWS($1:1)>MAX(Sheet3!$A:$A),"",INDEX(Sheet1!$C:$C,SMALL(Sheet3!$A:$A,ROWS($1:1))))  次に、Sheet2のB2セルに次の数式を入力して下さい。 =COUNTIF(Sheet3!$B:$B,$A2)  そして、Sheet2のA2~B2の範囲をコピーして、同じ列の3行目以下に、店員の人数を上回るのに充分な行番号になるまで貼り付けて下さい。  以上で準備は完了で、後はSheet1に顧客管理データを入力するだけで、Sheet2に自動的に店員名と「新規のお客様をリピーターにした回数」が表示されます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

E列には作業列を作って対応します。 E1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(COUNTIF(INDIRECT("B"&ROW(A1)+1):INDIRECT("B"&COUNTA(B:B)),B1)=0,A1=""),"",IF(AND(A1="新規",OR(INDEX(A:B,MATCH(B1,INDIRECT("B"&ROW(A1)+1):INDIRECT("B"&COUNTA(B:B)),0)+ROW(A1),1)="指名",INDEX(A:B,MATCH(B1,INDIRECT("B"&ROW(A1)+1):INDIRECT("B"&COUNTA(B:B)),0)+ROW(A1),1)="フリー")),1,0)) お求めの表ですがG1セルから下方には山本、高橋・・などとスタッフ名を入力します。 その後にH1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(G1="","",SUMIF(C:C,G1,E:E)) これらの作業では同じ名前のお客もありますのでその場合には何かの区別を付けたお客名にしておくことが必要でしょう。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

ピボットテーブルは如何でしょう Excel2007は[挿入リボン]から入りますが、Excel2000では[データメニュー]から入ります。

関連するQ&A

専門家に質問してみよう