
No.2ベストアンサー
- 回答日時:
ご希望の月別クラス別在籍者人数の一覧を別シート「月別一覧」に作成するとすると、
まず、月別一覧の月のセル(添付画像のB3~M3)について、添付画像のように月初の日付を入力し、セルの書式設定で表示形式を「m"月"」としておきます。
元データの「クラス」「入日付」「出日付」がB3からD13にあるとすると、
添付画像でいえば、月別一覧シートのB4に、
=SUMPRODUCT((元データ!$B$3:$B$13=$A4)*(元データ!$C$3:$C$13<=EOMONTH(B$3,0))*(元データ!$D$3:$D$13>=B$3))
という数式を記述し、右方向および下方向へオートフィル等でコピーします。
数式中の$B$3:$B$13、$C$3:$C$13、$D$3:$D$13につていは、実際のデータの範囲に従って変更してください。
合計欄はB7に
=SUM(B4:B6)
という数式を記述し右方向へコピーします。
これで添付画像のような、ご質問者のご希望の表が作成できると思います。

No.4
- 回答日時:
No.3の回答者です。
回答内容を推敲している間に、No.2の回答がされましたね。
SUMPRODUCT関数を使った部分が同じものだったようです。
投稿する前に確認しておくべきでした。
No.3
- 回答日時:
違うかもしれませんが、こういうことでしょうか?
(元データシートの範囲が3行目から100行目だとして)
月別一覧シートのB4セルに
=SUMPRODUCT((元データ!$C$3:$C$100<=EOMONTH(DATE(B$2,B$3,1),0))*1,(元データ!$D$3:$D$100>=DATE(B$2,B$3,1))*1,(元データ!$B$3:$B$100=$A4)*1)
で対応させます。各クラスごとにカウントさせたら、合計を
出すのは簡単ですよね。
個人的には、元データシートのE列以降に作業列を用意して、
E3セルに日付として月初めの2020/4/1を入れて
=AND($C3<=EOMONTH(E$2,0),EOMONTH($D3,-1)+1>=E$2)*1
にすることで、3行目以降それぞれのカウントをさせます。
月別シートでは、この作業列を元にSUMIF関数でクラス別を集計
回答ありがとうございます。SUMPRODUCT関数を使い表を完成させることができました。元データシートに作業列を用意する方法も試してみます。
No.1
- 回答日時:
結構面倒なことになりますよ。
手作業でやる手順をそのまま数式で示してみます。
調べたい期間をMIN関数とMAX関数で比較しましょう。
在籍の最終日がA1セルにあると仮定します。
2020年12月に在籍したかを調べたい場合、
MIN("2021/1/1",A1)
これは 2021年1月1日 以下の値が返ります。
A1の値が2021年1月1日よりも小さければA1の値が返り、
A1の値が2021年1月1日よりも大きければ2021年1月1日の値が返ります。
すなわち、2021年1月1日の値が返らなければ2020年12月31日以前に在籍していると判断できる。
同様に
MAX("2020/11/30",A1)
これで、2020年11月30日の値が返らなければ2020年12月1日以降に在籍していると判断できる。
この2つを条件をAND関数に渡すなどして数えれば良いんじゃないかな。
・・・
調べたい年がB1セル、月がC1セル、日がD1セルにあると仮定するなら、
MIN(DATE(B1,C1,D1+1),A1)
MAX(DATE(B1,C1,D1-1),A1)
みたいにすると楽ができる。
他にもやり方はありますが、あとは工夫してみてください。
ご回答ありがとうございます。
countifs関数を使う事しか考えていなかったので、MINとMAX関数が活用できるとは思ってもみませんでした。参考にさせていただきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
入退社日より各月末の在籍者数を把握できる関数
SOHO・在宅ワーク・内職
-
エクセルで、条件をつけて人数の集計をしたいです!
その他(ビジネス・キャリア)
-
エクセルで指定期間内に在職する対象者を抽出したいのです。
Excel(エクセル)
-
-
4
Excel 入退職月から任意の月末に在籍する部署ごとの人数を算出
Excel(エクセル)
-
5
勤続年数の平均を求めたい時の関数
Windows Vista・XP
-
6
EXCELで○ヶ月を○年○ヶ月に変換したい。
Excel(エクセル)
-
7
ある日付から3年以内であれば【〇】を自動的に表示させる
Excel(エクセル)
-
8
エクセルで社員数把握(部署ごと、職種ごと、日ごと)
Excel(エクセル)
-
9
計算式 何%減少を教えてください!
数学
-
10
エクセル 表の人数を計算したい。(部署ごとに)
Excel(エクセル)
-
11
Wordでこのような三角が出てくるようになってしまったのですがどうやったら消せますか?
Word(ワード)
-
12
機械を除却したときの仕訳を教えてください。
財務・会計・経理
-
13
excelグラフでデータテーブルを一部分のみ表示できますか。
Excel(エクセル)
-
14
excelで社数と人数をカウントしたいのですが
Excel(エクセル)
-
15
エクセルで利用者の実数をカウントしたい
Excel(エクセル)
-
16
延べではなく実質人数を。
Excel(エクセル)
-
17
エクセルの関数で「6ヶ月より長い場合」と条件設定したい!
Excel(エクセル)
-
18
エクセルで平均年齢や平均勤続年数を求めるには?
Excel(エクセル)
-
19
Excelで小数点以下1桁の年数を表示したい
Excel(エクセル)
-
20
会社関係のご遺族宛の文書、教えてください!
葬儀・葬式
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】数式を入力したい。...
-
【マクロ】excelファイルを開く...
-
エクセルの関数について
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
【マクロ】左のブックと右のブ...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
【マクロ】元データと同じお客...
-
Office2021のエクセルで米国株...
-
【マクロ】【配列】3つのシー...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ画像あり】❶1つの条件...
-
エクセルの複雑なシフト表から...
-
【関数】=EXACT(a1,b1) a1とb1...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報