人気マンガがだれでも無料♪電子コミック読み放題!!

エクセルで複数の構成員の平均年齢や平均勤続年数を求めるにはどうしたらいいのでしょうか?できれば、何年何ヶ月何日まで出せるといいのですが。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

それぞれの年齢と勤続年数の列を、日付関数を使ってつくります。

関数ボックスにはない「DATEDIF関数」です。
=DATEDIF(A1,TODAY(),"D") ※A1は、生年月日、入社年月日が入力されているセルに書き換えてください。
平均値は「AVERAGE関数」で計算しましょう。=AVERAGE(C1:C4)
セルの書式をユーザー定義で「yy"歳"mm"ヵ月"dd"日"」や「yy"年"mm"ヵ月"dd"日"」などお好みに設定してください。

余談ですが、DATEDIF関数の第3引数「D」は日数を指定しています。年数なら「Y」、月数なら「M」です。解説しているサイトがありますので、検索してみてください。あと、年齢計算は =DATEDIF(A1,TODAY()+1,"D") の方が自然なのかな?
    • good
    • 4
この回答へのお礼

ありがとうございました。
いくつかご提案をいただきましたので、試してみます。
セルの書式をユーザー定義で作成するのは、目から鱗でした。

お礼日時:2007/08/01 21:50

下記15名の本日現在の平均年齢が31年6ヶ月23日ということでOKであれば…



  A    B      C     D   E   F
1  NO 姓名     生年月日  齢年  齢月 齢日
2  1 浅香 唯   1969/12/04   37   7   27
3  2 伊藤 みどり 1969/08/13   37  11   18
4  3 伊良部 秀輝 1969/05/05   38   2   26
5  4 小倉 優子  1983/11/01   23   8   30
6  5 喜多嶋 舞  1972/08/11   34  11   20
7  6 桑田 真澄  1968/04/01   39   3   30
8  7 桜庭 あつこ 1977/03/29   30   4   2
9  8 瀬戸山 清香 1987/04/03   20   3   28
10  9 竹内 結子  1980/04/01   27   3   30
11 10 堂本 光一  1979/01/01   28   6   30
12 11 中根 杏奈  1989/04/01   18   3   30
13 12 西田 ひかる 1972/08/16   34  11   15
14 13 ほしの あき 1978/03/14   29   4   17
15 14 松岡 修造  1967/11/06   39   8   25
16 15 森口 博子  1968/06/13   39   1   18
17                31.47 5.67 23.07
18                  0 0.47  0.13
19                31.47 6.13  23.2
20                 31   6  23

D2: =DATEDIF(C2,TODAY(),"Y")
E2: =DATEDIF(C2,TODAY(),"YM")
F2: =DATEDIF(C2,TODAY(),"MD")
範囲 D2:F2 を下方に 16行目まで複写
D17: =AVERAGE(D2:D16)
D18: =MOD(C19,1)
D19: =SUM(D17:D18)
範囲 D18:D19 を右方に複写
D20: =INT(D17) これをセル F20 に複写
F20: =ROUND(F19,0)

【教訓】
={AVERAGE(TODAY()-C2:C16)} 等の平均生存日数から書式設定だけで表示させた場合は、
「31年12ヶ月30日」という奇異な平均年齢になる“落とし穴”に嵌ります。
    • good
    • 1
この回答へのお礼

丁寧なご回答ありがとうございます。
MODは初めて実用で見たのでなるほどと思いました。

お礼日時:2007/08/01 21:47

no.1です


>解答はいずれもマイナスになりますが?
 すみません逆です

 =e$1-a1です
    • good
    • 2
この回答へのお礼

ありがとうございました。
あとで試してみます。

お礼日時:2007/08/01 21:51

A列に入社年月日、c列に生年月日、e1に=now()として


b列に、=a1-e$1 d列に =c1-e$1
b列、d列の平均(avereage関数)を出す

b列、d列の書式を yy/mm/ddに設定

これで如何?
    • good
    • 0
この回答へのお礼

→b列に、=a1-e$1 d列に =c1-e$1とすると
解答はいずれもマイナスになりますが?

お礼日時:2007/07/30 22:23

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q勤続年数の平均を求めたい時の関数

エクセルで会社の従業員の勤続年数とその平均を求めたいです。
勤続年数のセルに
=DATEDIF(A1,TODAY(),"y")&"年"&DATEDIF(A1,TODAY(),"ym")&"ケ月"
といれて勤続年数を出してます。
それで次に従業員の勤続年数の平均を出したいのですが、AVERAGEを使うとエラー#DIV/0!が出ます。
どうすれば勤続年数とその平均が求められますか?
どんな方法でも良いので教えて下さい!!非常に困ってます(ー_ー)!!

Aベストアンサー

そりゃそうでしょう。計算対象が文字列扱いのデータなんですから、
エラーが出てアタリマエ、平均値が計算できワケがないです。

ですので、勤続年数の「数値」を持つセルを別に作る必要があります。
当然年/月のままじゃダメで勤続延べ何ヶ月という「月」の値にする
必要があります。ということで、上記のセルとは別に、

=DATEDIF(A1,TODAY(),"y")*12+DATEDIF(A1,TODAY(),"ym")

こうすれば、勤続延べ何ヶ月の数字が出てきます。この式を含むセル
についてAVARAGE関数で平均を取ってください。

で、出てくるのは勤続延べ何ヶ月ですから、こいつを12で割って「年」
余りを「月」にする必要があります。平均月が出たセルをB1として、

="平均"&INT(B1/12)&"年"&(B1-INT(B1/12)*12)&"ケ月"

こんな感じで表示できるはずです。
キモは「計算に使うセルと表示するセルを分ける」ということです。

計算に使うセルが表示上邪魔な場合は「書式」「列」「表示しない」
などで表示上隠す方法と、AA1~などの極端に離れたセルに記入して
おく方法などがあります。

そりゃそうでしょう。計算対象が文字列扱いのデータなんですから、
エラーが出てアタリマエ、平均値が計算できワケがないです。

ですので、勤続年数の「数値」を持つセルを別に作る必要があります。
当然年/月のままじゃダメで勤続延べ何ヶ月という「月」の値にする
必要があります。ということで、上記のセルとは別に、

=DATEDIF(A1,TODAY(),"y")*12+DATEDIF(A1,TODAY(),"ym")

こうすれば、勤続延べ何ヶ月の数字が出てきます。この式を含むセル
についてAVARAGE関数で平均を取ってください。

で...続きを読む

Q勤続年数の平均値の求め方

こんにちは、エクセルについて教えてください。
ある会社での各社員の勤続年数の計算でA列に入社年月日、B列に本日の年月日があり、C列にAとBの期間(勤続年数)計算を
=DATEDIF(A30,B30,"Y")&"年" & DATEDIF(A30,B30,"YM") & "月"で
●年●月で表示させています。
さて、この各社員の勤続年数の平均を出すために通常のAvarage関数を使うと「ゼロで割りました」のメッセージが出て計算してくれません。勤務年数の平均を求める方法を教えてください。

Aベストアンサー

過去ログです。
エクセルで平均年齢や平均勤続年数を求めるには?
http://oshiete1.goo.ne.jp/qa3213296.html

Qエクセルの関数で平均年齢の出し方を教えてください。

エクセルでTODAYを元に年齢を
=DATEDIF(H5,$J$3,"Y")&"歳"&DATEDIF(H5,$J$3,"YM")&"ヶ月"
のようにして○歳○ヶ月というようにセルに表示されるよう関数
で求めています。

この○歳○ヶ月のセル列の最後に平均年齢を求めたいのですが、
=AVERAGE(範囲)では求められないので
どのようにすえば求められるのか教えていただけないでしょうか?

宜しくお願いたします。

Aベストアンサー

次のような式でどうでしょう。
=DATEDIF(AVERAGE(H:H),$J$3,"Y")&"年"&DATEDIF(AVERAGE(H:H),$J3,"YM")&"ヶ月"

Q年齢の平均を求めたいのですが

EXCELを使って表計算をしています。
次のような、年と月が合わさった年齢の平均の求め方を教えてください。
(例)Aくん 7歳6か月
   Bくん 8歳10か月
   Cさん 5歳1か月
      ・
      ・
      ・
   平均:( ○歳○か月)

ただ今、名前と年齢(8-10の形で)が入力されているのですが、この形から平均を出せるでしょうか?教えてくださいませ。  

Aベストアンサー

たとえば、セルA2に8歳10か月というデータが、'8-10 という文字列の形で入っているとします。

B2に =FIND("-",A2)
C2に =LEFT(A2,B2-1)
D2に =MID(A2,B2+1,999) '999は適当です
E2に =C2*12+D2

3行目から下には、これらの式を必要なだけコピーします。

こうすると、E列は「月齢」になりますから、それを平均します。
仮に、でてきた平均値が E50に入っているとすると、

E51に =INT(E50/12) 'これが、平均値の「歳」の部分
E52に =E50-12*E51 'これが、平均値の「か月」の部分になります。

Q平均年齢の計算方法

平均年齢の計算方法で困っています。
単に、10歳や17歳と整数の年齢の平均は算出できるのですが、○歳△ヶ月と○ヶ月まで細かいデーターから適切に平均年齢と標準偏差を算出する方法を教えていただけないでしょうか。よろしくお願いします。

Aベストアンサー

はじめまして

統計には、「こうしなければいけない」というものはないので、「案」として提案します。

1.誕生日が○年○月○日までわかっている場合
ある日(例:1900年1月1日)を起点に誕生日は何日後か?と数字変換する。
→この数値で平均や標準偏差を計算
→計算された値を年・月の表記に戻す。
…これは、Microsoft Excelで“シリアル値”として使われている計算方法です。
http://support.microsoft.com/kb/880979/ja


2.○歳△ヶ月までしかわからない場合
△ヶ月の部分を下記の様に少数で表す
 1ヶ月 0.042
 2ヶ月 0.125
 3ヶ月 0.208
 4ヶ月 0.292
 5ヶ月 0.375
 6ヶ月 0.458
 7ヶ月 0.542
 8ヶ月 0.625
 9ヶ月 0.708
10ヶ月 0.792
11ヶ月 0.875
12ヶ月 0.958(○歳0ヶ月の場合は○-1歳12ヶ月にする)
※1ヶ月=1/12年として、月の半ば(1/24を足した値)を代表値とする
 少数部分=1/12×(△-1)+1/24
…△ヶ月と表現した場合、元の数字には1日~30日の幅があるためです。

ほかにも「案」はあろうかと思います。
どのような方法をとっても、「△ヶ月の部分をこうやって処理した」という注記が必要だと思います。

はじめまして

統計には、「こうしなければいけない」というものはないので、「案」として提案します。

1.誕生日が○年○月○日までわかっている場合
ある日(例:1900年1月1日)を起点に誕生日は何日後か?と数字変換する。
→この数値で平均や標準偏差を計算
→計算された値を年・月の表記に戻す。
…これは、Microsoft Excelで“シリアル値”として使われている計算方法です。
http://support.microsoft.com/kb/880979/ja


2.○歳△ヶ月までしかわからない場合
△ヶ月の部分を下記の様に少数で表...続きを読む

QEXCELで○ヶ月を○年○ヶ月に変換したい。

EXCELで、例えば「430ヶ月を35年10ヶ月」に変換したいのですが、使える関数はありますか?又は、簡単な良い方法はありますか?

Aベストアンサー

=TEXT(DATE(0,430,1),"y年mmヶ月")
ですね。上記の式の430の所をセル参照
別解として
=INT(430/12)&"年"&MOD(430,12)&"ヶ月"

上記2つの式は12ヶ月で割り切れる場合の表示が異なります。
=TEXT(DATE(0,480,1),"y年mmヶ月")→39年12ヶ月
=INT(480/12)&"年"&MOD(480,12)&"ヶ月"→40年0ヶ月

QEXCEL 何年何ヶ月間を求める関数を教えてください。

EXCEL
よろしくお願いします。 

入社日がB1のセルに平成10年12月5日と入っています。
退職の日がC1のセルに平成16年5月15日と入っています。

勤務期間を何年間何ヶ月間(満年月)をD1に出したのですが
どのような関数を使えばよいのか教え下さい。

よろしくお願いします。

Aベストアンサー

=DATEDIF(B1,C1,"Y")&"年間"&DATEDIF(B1,C1,"YM")&"ヶ月間"

◆下の、URLも参考に見てください

参考URL:http://www.microsoft.com/japan/users/office_expert/200304/01.asp

Qエクセルで年齢表示の方法

社員リストを作成しております。 今日現在の年齢をDATEDIF関数で計算して表示していますが、最後の引数を"Y"とすると45歳とか48歳となってしまいます。 これを45.3歳とか48.7歳といったような小数点付きで表示させるにはどのような引数を利用すればよいか解らず困っています。どなたか詳しい方、助けて下さい。 よろしくお願いします。

Aベストアンサー

誕生日ぎりぎりあたりで微妙に数値がおかしくならないためには、
整数部にdatedif(出生日,today(),"Y")を使うのは避けられないで
しょうね。小数部の表記は「月数/12」なのか「日数/365.25」なの
か…いずれにしろdatedif関数で、第3パラメータを月数を使うなら
"YM"、日数を使うなら"YD"でしょう。

=datedif(出生日,today(),"Y")+datedif(出生日,today(),"YM")/12
みたいな感じ。

最後を12じゃなくて100で割ったら、45歳8ヶ月が45.08で32歳11ヶ月
が32.11になりますけどね。

Qエクセルで年月の合計の関数を教えてください。

エクセルで2つの日付から年月数を求める関数(=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"0ヶ月;;")で出た期間の合計を出す関数を教えてください。(たとえば,2年6ヶ月と1年3ヶ月を足し,3年9ヶ月となるように)
よろしくお願いします。

Aベストアンサー

=TEXT(DATEDIF(A1,BI,"Y"),"0年;;")&TEXT(DATEDIF(A1,B1,"YM"),"00ヶ月;;")
で月を2桁表示なら
=TEXT(SUMPRODUCT(SUBSTITUTE(SUBSTITUTE(E7:E8,"年",""),"ヶ月","")*1),"0年00ヶ月")
で3年09ヶ月になります。ただし12ヶ月以上になる場合に繰上げされません。

年=DATEDIF(A1,BI,"Y")と月=DATEDIF(A1,B1,"YM")を分けてもらえれば、
年=SUM(年の範囲)+INT(SUM(月の範囲)/12)
月=MOD(SUM(月の範囲),12)
で計算できます。
※「年」「ヶ月」はセルの書式設定の表示形式をユーザー定義で「0年;;」「0ヶ月;;」で表示してください。

Qエクセルで日数を年数に置き換えるには?

例えば、平成16年11月28日~平成23年12月10日までの日数を、「7、××年」と表示させるための、関数を使った計算式を知りたいのですが、お分かりの方がおられれば、よろしくお願いします。

Aベストアンサー

(1)365日を1年と考える
A1=H16.11.28
B1=H23.12.10
=(B1-A1)/365=7.04年

(2)実際の日数で経過日数を割る
=YEARFRAC(A1,B1,1)=7.03年

こんなところでしょうか。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

価格.com 格安SIM 料金比較