• ベストアンサー

COUNTIF 関数について

エクセル関数(COUNTIF)を教えてください    例題   勤務  氏名 1 日勤   A 2 日勤   B 3 公休   C 4 特休   D 5 日勤   E 6 年休   F 7 日勤   G 8 公休   H 9 日勤   I 10 特休   J A列に勤務、B列に氏名が入力されています 質問の関数でCOUNTIF(A5:A10、"日勤”)ですが ”E”さんの位置より後に”日勤”が何人いるかをカウントしたい 計算式のA5の値を自動的に判別した計算式にしたい(Eさんの位置が変動するためにA5が固定できないためです) 以上よろしくお願いいたします

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.1

=COUNTIF(OFFSET(A2,MATCH("E",B2:B11,0),0,10,),"日勤") MATCH関数で、EがB2:B11の範囲の何番目にあるかを検索しています。 質問例では、5が得られます。 OFFSET関数で、A2を基準にして5つ下から10個のセルを範囲指定しています。 実際の表に合わせて、範囲を変更してください。 10 のところは、厳密にするなら、 10- MATCH("E",B2:B11,0)+1  → 11- MATCH("E",B2:B11,0) (A2からA11のセルの行数10からMATCH("E",B2:B11,0)で得られた5を引いた数+1) でしょうが、MATCH("E",B2:B11,0) の分だけセル範囲が広くなっても "日勤"をCOUNTするには支障はないと思います。

5941357
質問者

お礼

早々に回答ありがとうございます おかげさまで目的の表を完成することが出来ました かさねて ありがとうございます

関連するQ&A

  • COUNTIFで・・・

    次の表があります。 A列 B列 C列 D列 E列 購入日 会員番号 氏名 購入金額 注文回数 4月1日 111 あい 1,000 4月1日 222 かき 1,500 4月2日 333 さし 1,200 4月2日 111 あい 1,200 4月2日 444 たち 2,000 4月3日 222 かき 2,000 4月3日 111 あい 1,000 4月4日 333 さし 1,500 表の注文回数の欄にその人のその日は何回目の注文かを関数で求めたいです。あいさんの注文、1日に1、2日に2と表示させたいです。 で、COUNTIF関数でよいかと思い、 E2=COUNTIF($B$2:B2,B2) をオートフィルでE9までコピーしたところ(E3=COUNTIF($B$2:B3,B3)・E4=COUNTIF($B$2:B4,B4)・・・)、計算はできたのですが、E3からE9までセルの左上角に緑の三角がついて、「このセルの数式は、隣接したセル以外の範囲を参照します」と出てしまいました。 どこをどう修正すればよいのか混乱してます。 教えて下さい!

  • excelのcountif関数の使い方

    EXCEL2000について教えてください。 過去ログにCOUNTIF関数の話題はたくさんありましたので、参考にしてみたのですがうまくできません。何が悪いのでしょう? やりたいことは、A列にある日付データから、B列の日付の度数をC列に計算したいのです。      A列        B列     C列 [1] 2002/10/1 10:31  2002/10/1  度数 [2] 2002/10/1 12:05  2002/10/2  度数 [3] 2002/10/1 13:35  2002/10/3  度数 [4] 2002/10/2 15:51  2002/10/4  度数 [5] 2002/10/2 19:02  2002/10/5  度数 A列は5000~10000行になり、その行数は不定です。 B列は1ヶ月分で、手入力の日付データですので時分秒は00:00:00です。 ここでC1以下に入れる式で悩んでいます。 (A列のデータ数)-(B2以上のデータ数)-(B1未満のデータ数) ということで =COUNT(A:A)-COUNTIF(A:A,">B2")-COUNTIF(K:K,"<B1") この式を検証してみると、中央と右のCOUNTIF関数の部分がゼロになってしまい、いつも総データ数が答えになってしまいます。  どこが間違っているのでしょう? よろしくお願いいたします。

  • エクセルのcountif関数について

    二つの列にそれぞれ数値が入っている場合に、クロスしたデータの個数をカウントしたいのですが、どのような式を使えばよいかお教え下さい。 例えばA1~A10に20,30,20、・・・と規則的に入力されていて、B1~B10に1、2、3、1、2、3、・・・とこちらも規則的に入力されている場合で、A列が20でB列が3の場合、クロスした値は2個となるのですが、それをCOUNTIF関数で計算させたいのですが、...何か良い方法はありませんでしょうか。

  • 【エクセル】離れたセルのCOUNTIF関数

    こんにちは。 エクセルのCOUNTIF関数についての質問です。 各セルに以下のような数値が入っている表で・・・  A=10  B=00  C=20   D=30   E=00   F=40   G=50  AとCとEとGのセルを選択し、0以外のセルの個数を数えるとき COUNTIF関数で =COUNTIF(A,C,E,G,"<>0") という数式を立てたのですが、エラーとなってしまいました。 最終的には =((COUNTIF(A,"<>0")+(COUNTIF(C,"<>0")+(COUNTIF(E,"<>0")+((COUNTIF(G,"<>0")) という数式をたてて計算は出来たのですが、もっと簡単(?)な式はあったりするのでしょうか? ご存知の方がいらっしゃいましたら是非お教え下さい。

  • ExcelのCOUNTIF関数での<1>等の意味

    こんにちは。 COUNTIF関数で質問があります。 以下のようなデータがあります。 A列にデータ、B列にCOUNTIF関数が入っていてその結果を返しているとします。 (いずれも1行目~6行目までにデータが入っています) (A列)          (B列) <1>りんご        2(=COUNTIF($A$1:$A$6,A1)) <2>みかん        2(=COUNTIF($A$1:$A$6,A2)) パイナップル      1(=COUNTIF($A$1:$A$6,A3)) 桃             1(=COUNTIF($A$1:$A$6,A4)) りんご          1(=COUNTIF($A$1:$A$6,A5)) アボカド         1(=COUNTIF($A$1:$A$6,A6)) 疑問なのは、厳密に言うと上の条件だとB列は全部1になるのではないかと思ったのに、なぜ1・2行目は2を返してくるのでしょうか、ということです。 <1>や<2>が頭についたものでそのようになっているので、これは何か意味があると思いました。 どのような意味を持つのでしょうか。 また、<1とか<をつけても自分が思っていたような結果が返ってこないので、そもそも上のような例で<がつくとどういうことになるのでしょうか。 大変お手数ですが、よろしくお願いいたします。

  • EXCELでのCOUNTIF関数について。

    EXCELでCOUNTIF関数を使って色々試してみたのですが、思ったようにできなくて教えていただきたいです。。 協力者100人に回答項目が「いる」「少しいる」「ほとんどいない」「まったくいない」といった質問紙調査を行いました。質問は50問で全て同じ回答項目でできています。 そこで       問1(列:A)  問2(列:B)     「いる」  38人   43人   ・・・ 「少しいる」  23人   11人             ・             ・     のように問ごとに回答項目人数の合計を出す場合は 問1(列:A) 『=countif(a1:a100,"いる")』 『=countif(a1:a100,"少しいる")』        ・        ・ のように一つ一つ入力していくしかないのでしょうか? また問2以降も『=countif(b1:b100,"いる")』… のように一つ一つ入力するしかないのでしょうか? 説明がうまくできなくてわかりづらい文章になってしまってすみません。。よろしくお願いします。

  • エクセルのcountif関数で

    WindowsXPでEXCEL2003を使っています。 A列に固有名詞が入っており、 A列の中でのダブりチェックをcountif関数を使って、 実行しました。式は =countif($A$1:A7,A1) というような感じです。 ところが、見た目は全く変わらないのに、 (下記の図でいうと、「りんご」) 返ってきた数字は1でした。 ただし、「なし」のように2が返ってくるものもあります。 A列      B列 1 りんご     1 2 りんご     1 3 みかん     1 4 いちご     1 5 もも      1  6 なし      2 7 なし      2 (ずれて見苦しいかもしれませんがお許しを) 不思議に思い、一度エクセルからcsvに変換し、 またエクセルファイルになおして、 チェックしてみましたが、結果は同じ。 if関数を使ってみたらどうなるだろうかと チェックしてみたら今度は A1とA2の「りんご」は同じものである という 結果が返ってきました。 countif関数では別物と判断し、if関数では同じもの と判断する・・・ というのは、一体どういうことなのでしょうか? countif関数をなにか勘違いしているのかもしれませんが、よろしくお願いいたします。

  • エクセルのCOUNTIF関数について

    エクセルのCOUNTIF関数について、というかCOUNTIF関数でよいのかどうかもよく分からないのですが、教えて下さい。 (1)まず、ワークシートのA列の1~100行目までの100マスを範囲として、数値を入力していくときに、仮に同じ数値を入力しようとしても、入力ができないようにしたいのです。 (2)次に、ワークシートのA列とC列のそれぞれ1~100行目までの合計200マスを範囲として、(1)と同じことをしたいのです。(つまりB列はとばして) (1)と(2)のようなことは可能でしょうか? お分かりの方がおられましたら、ぜひよろしくお願いします!

  • COUNTIF関数で、複数条件の指定

    COUNTIF関数で、複数の条件を指定することはできるのでしょうか? A列が"root" かつ E列に"1"と入力されている行を数える。 ということをやりたいのですが、うまくいきません。 実際に使えませんが、イメージは COUNTIF(A:A,"root") and COUNTIF(E:E,1) のような事をやりたいです。 どのようにしたら良いでしょうか? ご教授下さい。

  • Excel COUNTIF関数

    お世話になります。 countif関数について教えてください。 12345 12345A countif関数で、ワイルドカードを使用して、=countif(A:A,"12345*") とし、上記の12345で始まる文字列をカウントしようとしたのですが、 12345Aはカウントされ、12345はカウントされませんでした。 上記のような文字列を両方ともカウントさせるにはどうしたらいい でしょうか。 よろしくお願いします。