• ベストアンサー

Excelの集計技を教えて!

Excel2002で施設の利用者を日毎で記録しています。 今上司から1ヵ月間に3回以上利用する人の割合を出せ!と命を受けました。 Excelで記録があるからと思って軽く引き受けたものの抽出する方法が分からないのです。 恥ずかしながらお力添えをお願いします。 手作業も考えたのですがなんとも延べ4千名程の名簿なので今後の事も考えExcelでしたいです。 何卒よろしくm(__)m

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

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

#6です。登場人物(利用者)を出すやり方に下記のやり方もあります。重複出現のないデータを作るやり方です。 A列に利用者の番号があるとします。B列が空いているとして、 B1に関数式=IF(COUNTIF($A$1:A1,A1)=1,A1,"")といれ B2以下に複写します。初出の会員番号のみB列に残り 他は空白になります。これを他の列に「値のみ複写」をして、ソートすれば下部に利用者番号一覧が作れます。 後は#6の通りです。 このやり方は#3のご回答で、近いものが出ていますね。しかしなぜか=IF()は使ってなくて、その点が少し違います。

その他の回答 (7)

  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.7

おはようございます。 #4のTaketoshiです。 こんな方法ではいかがでしょうか。 ただし、私のはExcel2000なので、文言に多少違いがあるかも。 (1)No3の回答のように、 E1:カウント E2:=COUNTIF($B$2:B2,B2) と入力して、データの最下行までコピー (2)G1を選択←あいているとこならどこでもOK (3)データ-ピボットテーブル レポートを選択 →ピボットテーブルウィザードを表示 (4)Excelのリスト/データベース、ピボットテーブルをチェックして、[次へ]押下 (5)範囲を、A1からEデータ最終行までに設定し、[次へ]押下 (6)[レイアウト]押下 →レイアウトウィザードを表示 (7)[ページ(P)]に[カウント]をドラッグ (8)[行(R)]に[会員番号]をドラッグ (9)[データ(D)]に[会員番号]をドラッグ (10)[OK]押下 (11)[完了]押下 これで、会員番号ごとの利用回数の表ができます。 上部のカウントのチェックボックスから、3を選択すると、3回以上きた会員番号と会員総計がでます。 ピボットテーブルに「利用日」「氏名」「ヨミガナ」をくわえればもっと詳しい表ができると思います。 ピボットテーブルの詳細は、ExcelHelpを見てください。

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

(テストデータ)A1:A15 a,a,b,c,d,a,d,a,d,d,b,c,e,b,d 本番ではこれに当たるのは、会員番号かと思います。 (ソート) A1:A15をソート 結果はa,a,a,a,b,b,b,c,c,d,d,d,d,d,e (関数式) B1だけaを入れる。B2に=IF(A1=A2,"",A2)と入れる。 B3からB15まで複写。 (B列結果) B1はa,B5がb,B8はc,B10がd,B15がe。その他セルは 空白となる。 (値を複写) B列をC列に「値のみ」を複写。 (C列をソート) C10まで空白。C11:C15までa,b,c,d,eが入る。 (D列に関数式) D11に=COUNTIF($A$1:$A$15,C11)をいれ、D12:D15まで複写する。 これで個人別件数表が出る。多分本番では番号順個人別件数表。 (ソート) CとD列をソート。 本番では件数順個人別表が出る。 (後処理) 3件以上の人数割合や、件数割合(集中度のようなもの) も出せるようになったのは判ると思います。 (注意)ソートする時もとの順序に戻す必要のある場合は 最初に連番を振って、ソートした時連れ持って動くようにして、必要あらば、連番でソートしてもとの順序へ戻す。 日付け・氏名・ヨミガナは敢えて省いて説明していますが それを考慮した時どうすべきかは、わかりますよね。

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.5

#1の回答者です。 集計機能で簡単に結果を求められます。 ただし、データの加工を行いますので、利用記録のファイルのコピーを作成し、コピーのほうで、集計作業を行うことをおすすめします。 まず、集計対象のデータを、会員番号を基準にして、昇順で並べ替えます。 次に、「データ」→「集計」を選択します。 「集計の設定」ダイアログが表示されますので、  「グループの基準」→会員番号   「集計の方法」→データの個数  「集計するフィールド」→会員番号にチェック のように設定し,OKを押します。

hitsujicom
質問者

お礼

会員番号に対する利用回数の出し方は理解できました。 あとはもう一段階集計作業を入れれば大丈夫のようです。 久々に関数辞書なる物を引っ張り出しての作業となりました。 お付き合いありがとうございました。

  • Taketoshi
  • ベストアンサー率41% (23/56)
回答No.4

こんにちわ。 #3の方と同じ考えです。 重複無しで表示するのも見やすくなりますよ。 1行目にA列から、項目名「利用日」「会員番号」「氏名」「ヨミガナ」があるとします。 E列を作業列として使用します。 E2に、 =COUNTIF($B$2:$B????,B2) (????は、最終行をいれる) と入力して、データの最下行までコピーします。 どの会員番号の人が何個あるのかがわかります。 あとは、データ-フィルター-フィルターオプションの設定で、 (1)リスト範囲をA2からE????にする (2)重複するレコードは無視するをチェック として、[OK]をすれば、だれが何回来たかの表ができるはずです。

hitsujicom
質問者

お礼

ありがとうございます。 誰が何回来たか?では無く何回以上の方は何人居るのか? と言う数字が欲しいのです。 ただヒントは充分頂いたと思います。 頑張ります!!

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

こんにちは。maruru01です。 1行目にA列から、項目名「利用日」「会員番号」「氏名」「ヨミガナ」があるとします。 E列を作業列として使用します。 E2に、 =COUNTIF($B$2:B2,B2) と入力して、データの最下行までコピーします。 これで、B列の会員番号が上から何回目の利用かの回数が表示されます。 そうしたら、A~E列でオートフィルタを設定して、E列で、例えば「3」を選択すれば、3回以上利用した人が重複なく、フィルタリングされます。 「1」なら、1回以上なので、すなわち利用者数(重複なし)になります。 オートフィルタでフィルタリングした数は、SUBTOTAL関数で得られます。 フィルタリングで隠れない場所、例えばF1などに、 =SUBTOTAL(3,B:B)-1 と入力すれば、フィルタリングされた数が表示されます。 各関数の詳細については、ヘルプなどを参照して下さい。

hitsujicom
質問者

お礼

ありがとうございます。 試した結果ですがフィルタリングした時に重複した人が存在するようで上手く行きません。 もう少し勉強します。

  • simox
  • ベストアンサー率50% (195/383)
回答No.2

全く同じ名前で入力されているのであれば、 ピボットテーブルを組んでデータの個数を調べればいいのではないでしょうか。 (ピボットの行の欄とデータの欄に氏名を放り込んでやればデータの個数が表示されるはず) 思い付きですが。

  • happypoint
  • ベストアンサー率36% (521/1422)
回答No.1

hitsujicomさん、はじめまして。 さて、hitsujicomさんが集計したいとおっしゃる利用記録ですが、その具体的なデータの内容(架空のものでいいです)を教えていただかないと、皆さん回答の使用がないと思いますよ。 どのようなデータがあって、それをどのような形の結果に集計したいのかを、補足してください。

hitsujicom
質問者

補足

了解しました。 行に利用日・会員番号・氏名・ヨミガナの項目があります。 それが縦に並んでいます。 抽出は会員番号で出来ると思うのですが、この番号が何個あると言う風に出来たら良いと思ってます。 そんなに都合の良い関数があれば教えて頂きたいのです。 他に簡単な方法があればそれも教えて欲しいです。 今まで記録だけの名簿だったのですが、利用が分析できれば活用の幅が広がるので是非知りたいです。

関連するQ&A