• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELのデータベース関数について(DCOUNTA?))

EXCELのデータベース関数について(DCOUNTA?)

このQ&Aのポイント
  • EXCELのデータベース関数についての要約文その1です。1年間に入社した人(雇用形態)毎に人数を求めたい場合や、今年度中に退職した方を含めて人数を計算したい場合にはDCOUNTA関数を使用することができます。また、全体をテーブルとして処理するためにデータベース関数を利用することも考えています。
  • EXCELのデータベース関数についての要約文その2です。DCOUNTA関数は(Database,フィールド,Criteria)という形式で使用しますが、Criteriaの条件を雇用形態と退職日を横に並べた値としたい場合には、退職日を空白にすることで条件を選んでいない状態を表すことができます。ただし、この方法では雇用形態のみ合致した人数をカウントしてしまう可能性があるため、別の方法を探す必要があります。
  • EXCELのデータベース関数についての要約文その3です。DCOUNTA関数をより正確に使用するための方法として、COUNTIFS関数を使用して条件を指定する方法があります。COUNTIFS関数を使用することで、雇用形態と退職日の両方の条件を満たすレコードの数を正確にカウントすることができます。この方法を使うことで、空白の退職日を選択した場合には条件を選んでいないとみなされるため、正確な人数を求めることができます。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

本当に何も記載されていない空白セルを検索するなら、、Criteriaの条件で空白セルを検索する条件のセルに「="="」と条件を入力してください。

その他の回答 (3)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 画像が小さいので詳細が判らないのですが、 あくまで方法だけ判ってもらえればよいかな!って思い投稿しました。 一例ですが、↓の画像で説明します。 結果のK3セルに =IF(COUNTBLANK(K1:K2)=2,"",IF(K2="",SUMPRODUCT((E2:E1000=K1)*(H2:H1000=K2)),SUMPRODUCT((E2:E1000=K1)*(H2:H1000>=K2)))) という数式を入れています。 これで「退社日」が空白でも「雇用形態」の欄だけ入力するとそのデータ数が表示されます。 尚、画像の空白欄の「退社日」にシリアル値で ○○以降の日付を入力すると、 表示されている雇用形態の入力した日付以降に退社した人のデータ数が表示されます。 尚、数式は元データの1000行目まで対応できるようにしています。 以上、このような方法もあります。m(__)m

fukuoka1
質問者

お礼

お返事ありがとうございました。 いろんなやり方があるんですね。 勉強になります。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

図が小さくてよく認識出来ませんでしたので、例を示します。 Criteria で、フィールド行を入れずに、フィールド行の次のセルをTRUE, FALSEで判定する数式を書けばよいです。  A列     B列 フィールド1 フィールド2  2010/9/27 D列[クライテリア] クライテリアの範囲の一行目を空白にして、二行目に TRUE, FALSE の返る数式を入れます。 (空白) =(A2)="" [数式] A1:B50--データベース, B1 フィールド名, D1:D2 クライテリア =DCOUNTA(A1:B50,B1,D1:D2) A列が日付シリアル値が入っているとすれば、2行目の数式はこうなります。 >(1)1年間に入社した人(雇用形態)毎に人数を求めたいのです。 = YEAR(A2)=2010 >(2)今年度中に退職した方は残したままで、人数を計算したいのです。(退職日を入力) = OR((YEAR(A2)=2010),A2="")

fukuoka1
質問者

お礼

ありがとうございます。 いろんなやり方があるんですね。 参考にさせてください。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.1

計算のため列を追加するのはどうでしょうか、式作成後非表示設定 式中の項目名は表中のセル位置とに置き換えて下さい。 (1)1年間に入社した人(雇用形態)毎に人数を求めたいのです。 ・入社年度列を追加する (年度の基準が4月1日の場合) 入社年度=YEAR(入社日)+IF(A2>=DATE(YEAR(入社日),4,1),1,0) (2)今年度中に退職した方は残したままで、人数を計算したいのです。(退職日を入力) ・集計対象列を増やす 集計対象=if(退職日="",1,if(or(退職日="",退職日>=今年度始),1,0)) (3)今年度は人が増えるため、全体をテーブルとし、雇用者1人事をレコードとして処理していますが、そのためCOUNTIFSなどは用いず、 簡単に計算するためデータベース関数を利用したいと考えています。 退職日を空白の人を人数としたい為、空白とすると条件を選んでいないとして雇用形態のみ合致した人数をカウントしてしまうようです。 ・空白列に何かを入れる(見づらければ条件付き書式で色分けする)  雇用形態は"未定” 退職日は 0

fukuoka1
質問者

補足

お返事いただき、ありがとうございます。 説明不足で失礼しましたが、今年度からのため、今年に関しては全員が対象となるため入社年度列が不要と考えています。 また必要になれば、条件に「年度=22」と追加いたします。 ただし退職時の身分は、わかるように身分欄は退職しても"未定"とかに変更せず現在の人数が知りたいのです。 DCOUNTAでは空白を条件とすると、条件は無条件となるようで困っています。 「空白を条件とすることができる方法」又は「代替の関数等の案」があればご教示ください。

関連するQ&A