こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

特定の期間内の入退社数が知りたいのです

とっても困っています!


  氏名      入社日   退社日
〇田 〇男  H18.3.1  H21.1.31
△山 △子  H22..3.1  H23.1.31
×川 ×美  H20.3.1  H23.7.31
■井 ■雄  H19.3.1 H20.5.31
◎田 ◎子  H21.3.1 H23.12.31

上記のようなデータが、500人分くらいあります。


「平成22年4月1日と平成23年3月31日時点での、それぞれの在籍者数及び
この間に入社した人、退社した人の数」

「平成23年4月1日と平成23年11月30日時点での、それぞれの在籍者数及び
この間に入社した人、退社した人の数」

を知りたいのですが、どのようにしたら良いのでしょうか?

エクセル初心者なので、できるだけ詳しく教えていただけると有難いです。

よろしくお願いします。

投稿日時 - 2012-01-05 11:29:31

QNo.7226302

すぐに回答ほしいです

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

準備:ご相談投稿では,こういう目に見える様子をキチンと情報提供します
A列に氏名を入れる
B列に入社日を入れる
C列に退社日を入れる
B・C列は数式バーで見たときに「2008/3/31」のように年/月/日で記入しておき,書式で和暦を表示する

#書式で和暦を表示するとは,セルの書式設定の表示形式のユーザー定義で
ge.m.d
のように設定しておく

#余談
ご質問では入社日退社日共にデータがあるアタマで書かれていますが,全員退社済みのヒトばかりのリストなのですか?


で,本題。(ただし退職日はまだ在籍と数える)
F1に
2010/4/1
G1に
2011/3/31
を記入する
F2に在籍者数
=SUMPRODUCT(($B$2:$B$500<=F$1)*($C$2:$C$500<>"")*(F$1<=$C$2:$C$500))
と記入し,F2をコピーしてG2に貼り付ける

F3に期間入社数
=SUMPRODUCT((F$1<=$B$2:$B$500)*($B$2:$B$500<=G$1))
F4に期間退社数
=SUMPRODUCT((F$1<=$C$2:$C$500)*($C$2:$C$500<>"")*($C$2:$C$500<=G$1))
とする

必要に応じてF1,G1の期日を変更して集計する
もしくはF:G列に作ったセットをコピーしてI:J列にでも貼り付け,H23.4.1~H23.11.30を集計する



#補足
ご利用のエクセルのバージョンがご相談に書かれていません。Excel2007以降を使っているときは,COUNTIFS関数を使ってもっとスマートな式で計算します。ただし計算の段取りは変わり有りません。
ご相談投稿ではソフト名は元より,ご利用のソフトのバージョンまでしっかり明記する事を憶えてください。

投稿日時 - 2012-01-05 12:09:38

お礼

詳しいご説明ありがとうございました。

おかげさまで、解決しました。

それと、慌てていてKeithinさんへのお礼を、
間違えてKURUMITOさんの所に書いてしまいました。

大変失礼いたしました。

以後気を付けます。

投稿日時 - 2012-01-07 15:09:04

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

添付図参照
I2: =SUMPRODUCT((B$2:B$600<=E2)*(C$2:C$600>=E2))
これを下方にズズーッとドラッグ&ペースト

セル G2 と G3 に“セルを結合”を実行して、次式を入力
G2: =SUMPRODUCT((B$2:B$600>=$E2)*(B$2:B$600<=$E3))
その結合セルを右にドラッグ&ペースト
2つの結合範囲 G2:H2 を下方にズズーッとドラッグ&ペースト

投稿日時 - 2012-01-05 13:00:47

お礼

ご丁寧な説明、有難うございました。

なんとか解決できそうです。

ありがとうございました。

投稿日時 - 2012-01-07 15:04:26

ANo.1

例えばA2セルから下方に氏名、B2セルから下方に入社日、C2セルから下方に退社日があるとします。

E2セルには初めの期間としてH22.4.1、F2セルには終わりの期間としてH23.3.31のように入力します。
E3セルにも同様にH23.4.1 、F3セルにはH23.11.30のように入力します。

G1セルには入社人数、H1セルには退社人数とでも入力します。
G2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNT(E2:F2)<>2,"",COUNTIF(B$2:B$600,">="&E2)-COUNTIF(B$2:B$600,">"&F2))

H2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(COUNT(E2:F2)<>2,"",COUNTIF(C$2:C$600,">="&E2)-COUNTIF(C$2:C$600,">"&F2))

投稿日時 - 2012-01-05 12:08:29

お礼

keithinさん
早速のご回答有難うございます。すみません、不慣れなもので。
質問の仕方、勉強します。

エクセルは2010を使っています。

投稿日時 - 2012-01-05 17:44:09

あなたにオススメの質問