• ベストアンサー

EXCEL関数で教えてください!!

EXCELの関数を用いて残業時間別人数の一覧表を作成中です。 例えば ○○部で残業10時間以下の人は何名中何名 10時間以上12時間以下の人は何名 という感じに残業時間一覧表から ○○以上○○以下の条件に合致する人の人数を自動的に数える 関数はできるものはないでしょうか? また条件となる残業時間は毎月変わっていくため (毎月増えていきます) それぞれのセルに条件を入力して 例えば 『「A1」から「A2」まで』というような数字でなく セルでの条件検索しカウントすることは可能でしょうか? IF関数やIFCOUNT関数あたり・・・とやってみたのですが うまくできません。 教えてください。よろしくお願い致します。

noname#117010
noname#117010

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

A2:A10に部門名 B2:B10に氏名 C2:C10に残業時間 A11="○○部",C11="10:00",C12="12:00"として >○○部で残業10時間以下の人は何名中何名 =COUNTIF($A$2:$A$10,$A$11)&"名中"&SUMPRODUCT(($A$2:$A$10=$A$11)*($C$2:$C$10<$C$11))&"名" >10時間以上12時間以下の人は何名 =COUNTIF($A$2:$A$10,$A$11)&"名中"&SUMPRODUCT(($A$2:$A$10=$A$11)*($C$2:$C$10>=$C$11)*($C$2:$C$10<$C$12))&"名"

noname#117010
質問者

お礼

ご回答ありがとうございました。 SUMPRODUCTと合わせての式は考え付きませんでした。 きちんと数値が出てきました。 ありがとうございました

その他の回答 (3)

回答No.4

>数字ではなく セルに「10」などの毎月変わる数値を入力し 計算式自体は=COUNTIF(B1:B10,"<A3")など セルを指定することは可能でしょうか? 入れてみましたが正しい数が抽出できませんでした。 この場合は=COUNTIF(B1:B10,A3)として(ダブルクォーテンションをとる) セルに「10」ではなく「<10」(もしくは「<=10」)とセル自体に条件を定義してください。 それから以下と未満の違いは理解されてますか。 10時間以下と10時間以上の場合10時間ぴったりだと両方かうんとされてしまいますけど。未満は<,以下は<=です。

noname#117010
質問者

お礼

以下と未満の数式の違いをきちんとわかってませんでした。 ありがとうございました。

回答No.2

たとえばA1~A10に名前、B1~B10に残業時間が入っていたとして、 10時間未満の人の人数を出したいセルに(「以下」とありましたが10時間の場合、以上とかぶるので「未満」としました) =COUNTIF(B1:B10,"<10") もしくは書式が時間なら =COUNTIF(B1:B10,"<10:00") 10時間以上12時間未満 =COUNTIF(B1:B10,"<12")-COUNTIF(B1:B10,"<10") 書式が時間なら同様に表記を変えてください。 これでいかがでしょうか

noname#117010
質問者

お礼

早速ご回答いただきありがとうございました。 上記式で「10時間以下」として 数字の「10」を入力した場合は 正しくカウントされました。 来月は「累計20時間以下」と 毎月累積で残業時間が変わっていくので 各部各累積時間の式を毎月帰るのではなく 行(セル)の数値を変えていくことができればベストです。 数字ではなく セルに「10」などの毎月変わる数値を入力し 計算式自体は=COUNTIF(B1:B10,"<A3")など セルを指定することは可能でしょうか? 入れてみましたが正しい数が抽出できませんでした。

noname#117010
質問者

補足

補足になりますが SHEET1で各部署各人各月別の残業時間一覧表を 作成し 合計時間を計算 SHEET2でその合計時間から 毎月の部署別累計残業時間の表を作りたいと思っています。 例えば SHEET1で タイトル行 A1 所属部署 以下 A列 各所属部署名 B1 氏名 以下 B列 各氏名 C1 4月残業時間 以下 C列 各人別残業時間 D1 5月残業時間 以下 D列 各人別残業時間   ・   ・   ・ N1 翌年3月残業時間 O1 合計 以下 O列各人合計 SHEET2 各部署別 累積残業時間 SHEET1O列を検索範囲として A2 10(時間以下) A3 10(時間以上) A4 15(時間以下) という感じに 毎月 各式の数値ではなく  A列基準となる セルに入力する時間(数値)を変えて 各部の該当時間の該当人数を自動検出できるように したい!!のですが・・・ 検出できればベストなのですが・・・

  • j-mika
  • ベストアンサー率46% (15/32)
回答No.1

こんにちは。 今のデータ状況が不明なので、こう!と書けないですが。 見たところ、抽出を使うのが便利かと。 http://dreamy.boy.jp/tec2_8.htm ↑を応用されるといいと思います。

noname#117010
質問者

お礼

早速ご回答いただきありがとうございました。 いろいろ試してみましたが「参照が正しくありません」など エラーになり正しく抽出が出来ませんでした。 もう少しチャレンジしてみます。 ありがとうございました。

関連するQ&A

  • EXCEL関数について教えてください

    一覧表から条件一致の数を数える関数。 一つの範囲を指定して、その中から条件に一致するセルを数えるには COUNTIF関数を使いますが、 別々の範囲の中から、各々一つずつの条件に一致するセルを数えるには どうしたら良いでしょうか? 例えば、A列の○○という条件に一致して、なおかつE列の△△にも一致する セルの数を数えたいのですが。。。 分かりにくくてすみません。

  • 度々すみません。関数で…

    以下の2つのセルで両方の条件が合致した場合の人数をカウントするためにはどうしたらいいでしょうか。 A3  A5  筆記 ○ 筆記 ○ 筆記 × 実技 ○ 実技 ○ で筆記で且つ○の人を数えたいです。 よろしくお願いします。

  • エクセル関数(こういう場合は?)

    毎月10日、25日を5年間一覧表にする場合、使える関数ってありますか? 詳細→セルA1:2005/1/10、セルA2:2005/1/25 A3:2005/2/10 の様な一覧、5年分を一気に作表する関数

  • EXCEL関数について

    毎月、各曜日毎のとある集計表の作成をしております。 マクロや関数を利用し、毎月の作業簡易化を目指し奮闘中なのですが、壁に当たってしまったためお力添え下さい。 7月であれば1~31までのシートがあり、日にちをシート名にしてあります。 各曜日「A1」セルの値の平均値を出したいのですが、毎月第4週までと第5週までの曜日が異なる上、祝日もありうまく関数が組めません。 各シートを「月曜1、月曜2・・・」と名前を変更し、セルに関数AVERAGE(月曜1!A1,月曜2!A1,・・・)と範囲指定するマクロを作りましたが、上にも書いた通り、毎月第4週までと第5週までの曜日が異なるため、6月の曜日に合わせたセル範囲を7月に適用させるといくつかセル範囲無効によるエラーが表示されます。(#REF!) 範囲指定したシートのうち、存在するシートのみが反映され、無いシートを無視することができれば私にとって理想なのですが、そのような方法はありますか?

  • Excel関数

    あるセル範囲の中の数値で、あるセルの数値以下(以上)が何個あるかを関数でだしたいのですが、どうすればいいのでしょうか? 単純に「COUNTIF」でできるかと思ったのですが、「検索条件」であるセルの数値以下といったことができませんでした。もし、やり方が間違っていたら教えてください。 また、別の方法があるなら教えてください。

  • EXCEL2007とEXCEL2000の違いについて

    EXCEL2000で勤務時間を集計する一覧表を作成し利用していました。 先日EXCEL2007でその一覧表を利用してみたところ、計算式の入ったセルが「#N/A」と表示されてしまいました。 詳細を以下に記述致しましたが、原因をご存知の方がいればご教示ください。 <EXCEL2000で作成した一覧表についての仕様等> (1)「データ>データの入力規則」で設定したドロップダウンリスト(同一Book内の同一Sheetから値を参照)から勤務開始時間、勤務終了時間を選択させる。 (2)(1)で選択した勤務終了時間を用いてLOOKUP関数を使い、同一Book内の別Sheetから値を参照し、勤務時間を割り出す。 <一覧表をEXCEL2007で利用した際の現象について> 上記「(2)」の段階で計算式セル(LOOKUP関数の入ったセル)に「#N/A」と表示される。 ※情報が足りない等不備がありましたらお申し付け下さい。。

  • INDIRECT、MATCH関数等の組み合わせ方

    入力フォームとして作成したシート(あああ)のデータを、シート(一覧表)に、計算式で自動的に並べる方法(参照する方法)を教えてください。(画像を添付しました。) 入力フォームは、実際は150枚ぐらいになります。一覧表も実際は数枚あります。 画像の「あああ」が入力フォーム、「一覧表」が一覧表です。 あああ、AAA、111、アアアなどは、すべて項目名です。 DATA1からDATA32、DATA100-103が、実際にデータが入る部分です。 例えばですが、入力フォーム(あああ)のセルC6に入力したDATA1が、一覧表のセルC3に入るように、C3に計算式を入れたいです。 1.シート名を計算式にいれるには、INDIRECT関数が使えるかと思います。 2.複数の条件(A列、B列、1行、2行)でセルを特定する関数がわかりません。 3.1.と2.を組み合わせると、同様な関数になるのか、わかりません。 DATAについては、ゼロはゼロ、無記入は無記入のまま一覧表に表示したいです。 よろしくお願いします。

  • Excel関数について(時間の出し方)

    勤務の定時が17:30で終業時間が19:30なら残業が2になりますよね。 例えばセルA-1に19:30と入力するとセルB-1に自動的に2と出るような関数を教えて下さい。 よろしくお願いします。

  • Excel関数について

    Excel関数について質問させて下さい。 得点者リスト一覧で 1位から順番に順位を付ける為の関数をお教え下さい。 例:セル1-氏名。 セル2-得点。 セル3-順位を表示したいセル セル1 セル2  セル3 A   100点 B    90点 C   87点 D   111点 上記のようなリストで1位から順位を“セル3”の列に付けたいんです。 以上宜しくお願い致します。

  • Excel関数のことを教えて下さい。

    いつもお世話になっております。 Excel関数のことで質問があります。    A   B   C  1  10 2   20 3  30 4   40 5  50 6  60 7 上記のような表で、 例えばA1から順番にA2、A3と足していって180以下で一番大きい 値になるのは、どのセルまで足した場合なのかという式を教えて下さい。 いつもすみませんが、宜しくお願いします。

専門家に質問してみよう