
表題の通り質問です。
社員の年齢をDATE関数で求めて、それを年齢別で集計したいと思っています。
その場合どのように関数を使えばうまく集計できますか?
=DATEDIF(F3,TODAY(),"Y")&"才"&DATEDIF(F3,TODAY(),"YM")&"ヶ月"
なお年齢を求めるのに使用したDATE関数はこちらです。
求めたいのは、45歳以下は何人か、45歳以上は何人かです。
COUNTIFを使用してカウントしようと思ったのですが、うまくカウントできませんでした。
No.4ベストアンサー
- 回答日時:
No2です。
計算の意味を理解せずにいろいろ撫でまわしたところで、「当たり」が出る確率はほとんどありません。
算出内容も変わっているようですが、内容に応じてそれを算出する方法も変わってきます。
No2にも書きましたが、「○才◇ヶ月」のような表示から年齢範囲を判別するのは面倒なだけです。(できないことはないですが・・)
似た様なものを表示したからといって、それを利用するのが最適かと言えば、この場合は、元データの誕生日から算出する方が遥かに簡単にできるという事です。
まずは、「求める算出結果」、「表示したい内容」を整理して、それぞれに応じた算出方法を考えるのが良いでしょう。
一気に結果を求める計算式は式が複雑になりがちですので、他の方の回答にもあるように、作業列などに一時結果を算出して、順次結果を求めるような仕組みにすればわかりやすくなるでしょう。
No.3
- 回答日時:
一つの複合関数で一気に求めようとすると、なかなかできないので、
手順通りに個々に求めていくと、すんなり求まります。
1) 年齢を求める基準日のセルを用意する。
2) 人数を求める閾値年齢のセルも用意する。
2) 各人の満年齢を求める。 =DATEDIF(誕生日,基準日,"Y")
3) 年齢ごとの人数を求める。
=COUNTIF(満年齢の範囲、"<=(閾値年齢)") …閾値年齢以下
=COUNTIF(満年齢の範囲、">(閾値年齢)") …閾値年齢超
No.2
- 回答日時:
こんにちは
>求めたいのは、45歳以下は何人か、45歳以上は何人かです。
であるなら、年齢だけわかれば良いので、
DATEDIF(F3,TODAY(),"Y")
だけを参照することで計算できるはずです。
レイアウトがどうなっているのかわかりませんけれど・・
仮に、F3:F50 の範囲にシリアル値で誕生日が入力されているとして、45歳以下の人数を求めるのなら、
=SUMPRODUCT((DATEDIF(F3:F50,TODAY(),"Y")<=45)*1)
の式を入力することで、今日時点での該当人数を算出できます。
>COUNTIFを使用してカウントしようと思ったのですが、
>うまくカウントできませんでした。
ご提示の式で、一旦年齢を求めて、それを元に人数をカウントしたいのであれば、年齢算出式を
=DATEDIF(F3,TODAY(),"Y")
のようにして、COUNTIFでカウントすれば可能です。
"才"の単位を表示したければ、書式設定で行えばよいでしょう。
ご提示の式では、年齢を文字列化して「○才◇ヶ月」という結果にしていますが、COUNTIFなどで範囲を算出しようとするにはわざわざ面倒な形式にしています。
回答ありがとうございます。
書類を提出するにあたり、何才何か月なのかまでの資料が必要とのことでそのような面倒な形式になっています。書式設定で〇才〇か月と表示しようとするとうまくいかなかったので…
参照用の行を非表示で作ればいいのかな?とは思いましたが、もしこのままできるなら参照行を作成する手間が省けるかと思い質問をしました。

No.1
- 回答日時:
できたどおおおおおおおお!
社員の年齢を計算して、それを年齢別に集計する方法について説明します。年齢の計算には `DATEDIF` 関数を使用し、その結果を基に `COUNTIF` 関数を使って年齢別にカウントします。
以下に手順を示します:
1. **年齢を計算する**:
まず、各社員の生年月日が入力されているセル (例えば F3) から年齢を計算します。例えば、セル G3 に年齢を表示する場合、次のように入力します。
```excel
=DATEDIF(F3, TODAY(), "Y")
```
これで、セル G3 に社員の年齢が表示されます。
2. **年齢の範囲を設定する**:
次に、年齢が計算された列 (例: G列) に対して、年齢別にカウントするための範囲を設定します。
3. **年齢を45歳以下と45歳以上にカウントする**:
COUNTIF関数を使用して、45歳以下と45歳以上の社員数をカウントします。例えば、年齢データが G3 から G100 までにあると仮定します。
- 45歳以下のカウント:
```excel
=COUNTIF(G3:G100, "<=45")
```
- 45歳以上のカウント:
```excel
=COUNTIF(G3:G100, ">45")
```
これで、指定した年齢別の社員数を集計できます。全体の手順をまとめると以下のようになります。
1. **生年月日から年齢を計算**(例えば、G列に年齢を表示):
```excel
=DATEDIF(F3, TODAY(), "Y")
```
2. **45歳以下のカウント**(年齢が G3:G100 にあると仮定):
```excel
=COUNTIF(G3:G100, "<=45")
```
3. **45歳以上のカウント**(年齢が G3:G100 にあると仮定):
```excel
=COUNTIF(G3:G100, ">45")
```
これで、45歳以下および45歳以上の社員数を正確に集計できます。
できました!ありがとうございます!
と色々やってる間に、上司から
さらに45才~49歳の人の集計と、更にそこから女性が何人いるのかも集計しておいてという後出し指示がでてまいりました。
D列に性別の記載が、男、女とある場合はCOUNTIF関数がベストかな?と思って、先ほど回答いただいたものを参考にやってみたところなんだかうまくいきません。。。明らかに人数が増えてます。。。
先ほど同様、G列に年齢、D列に男、女の記載がある場合って=COUNTIFS($D$3:$D$40,"女",$G$3:$G$40,"<45才")-COUNTIFS($D$3:$D$40,"女",$G$3:$G$40,">=50才")
こちらの関数でよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「代」と「台」の使い方
-
今くるよ
-
インスタの年齢制限の設定です。
-
女性にお姉さんという言い方し...
-
どういう意味ですか?
-
30代でこれ履くのは痛いですか...
-
芸能人の方は若い頃からグルコ...
-
セックスする度に胸が大きくな...
-
男性の方ご回答お願いいたします。
-
彼女のあそこに余裕で3本指が入...
-
セックスの目的について
-
花火に行く男女はカップル?-た...
-
女性に質問です、手マンって相...
-
男性に質問です。 エッチのとき...
-
男性にとって体の関係無しの交...
-
教師は不倫が多いとも言います...
-
女性って男性から話しかけなか...
-
彼女が異性の居るグループと泊...
-
大学1年男 彼女の生理が5日遅れ...
-
週1ペースで会うカップルでデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「代」と「台」の使い方
-
どういう意味ですか?
-
彼女いない歴=年齢の20歳で...
-
女性に年齢聞く男性
-
インスタの年齢制限の設定です。
-
年齢を聞かれた時のかわし方。 ...
-
30代でこれ履くのは痛いですか...
-
今くるよ
-
女性にお姉さんという言い方し...
-
「お誕生日おめでとう!」と言...
-
年齢を誤魔化す男性の心理につ...
-
DATE関数で現在の年齢を出した...
-
20歳台?20歳代?
-
30歳は三十路…50歳は?
-
教えてgooをやってる人の年齢層...
-
年齢を聞きたがる人がいますが
-
40歳ってもう年齢だけで恋愛対...
-
僕は30代男性です!40代の大人...
-
女性の年齢を知る方法
-
小文字の「ゎ」を使う人は何歳く...
おすすめ情報
色々やってる間に、上司から
さらに45才~49歳の人の集計と、更にそこから女性が何人いるのかも集計しておいてという後出し指示がでてまいりました。
D列に性別の記載が、男、女とある場合はCOUNTIF関数がベストかな?と思って、先ほど回答いただいたものを参考にやってみたところなんだかうまくいきません。。。明らかに人数が増えてます。。。
先ほど同様、G列に年齢、D列に男、女の記載がある場合って=COUNTIFS($D$3:$D$40,"女",$G$3:$G$40,"<45才")-COUNTIFS($D$3:$D$40,"女",$G$3:$G$40,">=50才")
こちらの関数だとなんか色々加算されてしまって正しい数が集計できません…
すみません。上記補足自己解決しました!
単純に数式が間違ってました…
回答していただいた皆様ありがとうございました!!