• ベストアンサー

数を数える関数式を教えてください。

具体的には、 雇用形態と所属部署などのリストから、 「正社員 かつ ○○部」の人の人数を関数で出したいのですが、 countifとandをつかえばどうにかなるかなと思い自分でやってみましたがうまくいきません。 こういう場合どういう関数式になるでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • don9don9
  • ベストアンサー率47% (299/624)
回答No.3

A列に氏名 B列に雇用形態 C列に所属部署 が入力されていて、 1~10行目までを集計する場合 [=SUMPRODUCT((B1:B10="正社員")*(C1:C10="○○部"))]

akaohanako
質問者

お礼

ありがとうございます! この式をそのままこぴぺしてみたらいけました。

その他の回答 (2)

  • kapox
  • ベストアンサー率21% (17/79)
回答No.2

マクロじゃないと、無理じゃないでしょうか? 下記は、B列に雇用業態、C列に所属部署が表示されている分です。 Sub Macro1() Dim Ans As Integer n = 0 Do n = n + 1 If Cells(n, 2) = "正社員" And Cells(n, 3) = "○○部" Then Ans = Ans + 1 Else Ans = Ans End If Loop Until Cells(n, 1).Value = "" MsgBox Ans End Sub 違うところの質問の答えで、マクロがエラーになったみたいなので、 アップローダーで、ダウンロードできるようにしておきました。 「ツール→マクロ→実行」でマクロが実行されます。 (メッセージボックス内の数字が該当する数です。)

参考URL:
http://up.kabubu.net/cgi/img2/25983.zip
akaohanako
質問者

お礼

丁寧なご回答有難うございました! マクロでも上記のようにやってみたいと思います! 有難うございました。

  • gutugutu
  • ベストアンサー率14% (184/1234)
回答No.1

SUMPRODUCTでいけると思います。

akaohanako
質問者

お礼

有難うございました! できました。

関連するQ&A

  • ファイルメーカーでCountifの様な方法ありますか?

    はじめまして 初めての質問です。 環境はWinXP ファイルメーカーpro7です。 テーブル「社員名簿」のレコードからテーブル「在籍人数」にcountifの様な方法で、値を返せればと思っています。 まず、社員名簿というテーブルがあります。 フィールドが 「エリア」(値一覧で選択、[東日本、中部、西日本、本社]) 「部署」(値一覧で選択、[管理本部、事業本部、CS、BS]など) 「雇用形態」(値一覧で選択、[正社員、試験社員、契約社員]など) 「職責」(値一覧で選択、[部長、マネージャー、一般]など) 「性別」(男・女) などです。 在籍人数テーブルは表の様に表すのが希望です。 例えば 「東日本」の「CS」部で「正社員」のうちの「一般」社員で「男」を 社員名簿履歴からカウントするフィールドを作成 上記のような感じで部署や雇用形態が違うフィールドをいくつも作成して最終的には合計人数を出したいのです。 エクセル的な考えでcountifを使用するつもりだったのですが、使えない事がわかり・・・。 ファイルメーカー初心者なので、なかなかいい方法が思いつかず困っています。 ぜひ、アドバイスお待ちしております。

  • 「○○を除いて、平均を求める」という関数

    ○○を除いて平均を求める」という関数はあるでしょうか。 例) C列=雇用形態(パート、正社員、派遣) D列=現在年齢 派遣を除いて、平均年齢を求めたい という場合です。 よろしくお願いいたします。

  • SUMPRODUCT関数について

    A列に氏名、B列に性別(MかF)、D列に雇用形態(1~5の数字で入力)しています。 雇用形態は、1=正社員、2=契約社員・・・といった具合で、D列に数字を入れればC列に 雇用形態の名称が反映されるようにしています。 男性でかつ正社員の人数を求めたいのですが、どうしても結果が0になってしまいます。 計算式は =SUMPRODUCT((B5:B7="M")*(D5:D7="1")) で入力しています。 D列に数字を入れればC列に雇用形態の名称が反映されるようにしていることが問題でしょうか? どなたかご教示下さい。 よろしくお願いします。

  • エクセル関数 10/10/01を含む数を数えるには

    エクセル関数について教えて下さい。 過去ログを見ましたがイマイチよくわかりませんでした。 画像のようなリストがあった場合、同じ日付(10/10/29など)を含む行の数を数えたいのですが数式はどうなりますでしょうか。 下記のような数式を作ってみましたが正しい答えにはなりませんでした。 =countif(A1:A102,"=10/10/29")

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

    EXCELのデータベース関数について(DCOUNTA?) 住所録を作成していますが、ポイントは3点あります。 (1)1年間に入社した人(雇用形態)毎に人数を求めたいのです。 (2)今年度中に退職した方は残したままで、人数を計算したいのです。(退職日を入力) (3)今年度は人が増えるため、全体をテーブルとし、雇用者1人事をレコードとして処理していますが、そのためCOUNTIFSなどは用いず、簡単に計算するためデータベース関数を利用したいと考えています。 DCOUNAの関数は(Database,フィールド,Criteria)となりますが、Criteriaの条件を雇用形態と退職日を横に並べた値としたいが、退職日を空白の人を人数としたい為、空白とすると条件を選んでいないとして雇用形態のみ合致した人数をカウントしてしまうようです。 良い方法あればご教示ください。

  • 派遣切りなどの

    非正社員の雇用形態が多く問題となっていますが、具体的に非正社員の増加がもたらす問題とは何だと思いますか?

  • こういう場合、どの関数を使えば・・・

    エクセルに下記のデータが入力されているとします。 例)ある集団に所属している人のリストがあります。 列Aには出身地が、列Bには血液型が入力されています。 このデータの集計をする際、 例えば、東京都出身でかつA型の人が何人いるかを数えたい場合、 どんな関数を使えばいいのでしょうか? わたしは「COUNTIF」を使うと思うのですが、関数を組み合わせる必要があるみたいで、どのようにすればよいのかわかりません。 どなたかエクセルのプロの方、ご教授お願いします!!

  • VBAで変数に関数式の結果をセットする場合

    VBAで変数に関数式の結果をセットする場合の記述でご教示ください。 使用する関数としては =IF(CountIf("A:A", "E5"), "×", "○") これをVBAで変数にセットする場合 Judge_1 = Application.IF(CountIf("A:A", "E5"), "×", "○") として記述していますが、CouiIfの箇所でコンパイルエラーが出ます。 【Sub または Functionが定義されていません。】 IFとCountIfの2つの関数があるのが原因かな?とも思いますが、 このような場合の正しい記載方法はどのようにするのでしょうか?

  • Excel 関数ifについて

    Excel 関数ifについて セルa1から a100の中に、たとえば 好き ということばがあるかどうかをチェックするとき、 if(countif(a1:a100,"*好き*"),1,0) と指示されました。 本来ならcountifが1より大きければ1を返すのですから、 if(countif(a1:a100,"*好き*")>0,1,0)ですよね? 論理式の >0って 省略できるんですか? 正なら真、0以下なら偽と解釈されるんでしょうか?

  • Excel で関数の中に関数を入力するには

    =SUM(COUNTIF・・・)) という式の場合 KEY BOARD からなら問題ありませんが 2つとも "関数の挿入"から選び出そうとしても出來ません、1つだけなら可能ですが、2番目ができません、どうしたらできますか? よろしくお願いいたします。