• ベストアンサー

エクセルのカウントについて教えてください

よろしくお願いします ある病院の勤務表を作りました 縦軸に名前横軸が日付です 変則勤務のとき(遅出とか早出とか夜勤とか)は記号または文字が記入されます。表は1人分が2段になっていて下の段は修正があったときに使います。ブランクは平常勤務だったときです。で、毎日の平常勤務の人数(上の段がブランク)をカウントしたいのです。COUNTBLANKは下の段(修正があったときの記入欄)がカウントされますのでどうしていいかわかりません。教えてください。   1 2 3 4 5 --------------------------  日 あ  ---------------------- --------------------------   夜   日 い ----------------------------- -------------------------   遅 う ---------------------------- ------------------------------ え ------------------------- ------------------------------- 計 1 4 3 4 4 と言う風にしたいのです。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

#3です。平常勤務予定で夜勤等になった人を引かないといけませんでした。訂正するため追加します。 A2:B13に 山田 上村 夜勤 小西 早出 木村 大川 夜勤 中山 夜勤 の場合 =SUM(IF((MOD(ROW(B2:B13),2)=1)*(B2:B13<>""),1,0)) と入れてCTRL+SHIFT+ENTERキーで 1(偶数行が空白、奇数行は空白でないセルB13をカウント) 結果は前回答の3(中山をA12、B13に)増やしたので+1の3になった)-1(本件)=2人 山田と木村です。 でもこの問題は苦労しますね。

bigbig
質問者

お礼

ありがとうございました、できました!!! とってもうれしいです。感謝、感謝!です。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

>縦軸に名前横軸が日付です-->判ります >表は1人分が2段になっていて 1人分が第2行目と第3行目のようにくっついて設(行)欄されているのでしょうか。 山田分第2,3行、小西分第4,5行、上村分第6,7行と言う風に。そして山田の修正は第3行に小西の修正は 第4行に入れると言うことでしょうか(多分こちら?)。 (または山田は3行目、小西は4行目、上村は5行目にあり、修正表(行)は下部の方に、山田は30行、小西は31行、上村は32行にあるのでしょうか。) >変則勤務のとき(遅出とか早出とか夜勤とか)は記号または文字が記入されます。判ります。 平常-ブランク、遅出-遅、早出-早、夜勤-夜 とでも入る。ブランクなら平常勤務と解する。 修正について夜勤予定が平常になった時は、どう入力(表現)するのでしょうか。(そう言うケースは無いと見なすのかも?) >毎日の平常勤務の人数(上の段がブランク)をカウントしたいのです。1行おきのブランクセル数を数えればよいのですか。その場合夜勤予定が平常になった時どうするのですか。 予定変更なしのブランクと予定変更して平常になったブランクとが、カウントを難しくしませんか。 >COUNTBLANKは下の段(修正があったときの記入欄)がカウントされますので むしろ修正が無かったためにブランクである行のセルがカウントされてしまう、のが困ると表現すべきでは。 問題内容推定でA2:B10が (1)A列  B列 (2)山田 (3) (4)上村 y (5) (6)小西 h (7) (8)木村 (9) (10)大川 y のとき =SUM(IF((MOD(ROW(B2:B10),2)=0)*(B2:B10=""),1,0)) と入れてCTRL+SHIFT+ENTERキーで 2(偶数行の空白セルB2とB8をカウント) となります。(配列数式) http://pc21.nikkeibp.co.jp/special/hr/hr4.shtml

  • diashun
  • ベストアンサー率38% (94/244)
回答No.2

求める表が「Sheet1」(*)に作られているとして、作業用「Sheet2」を使って式を作ります。 (*)「Sheet1」の「B1~横方向に日付」、「B2~縦方向に「上段入力欄、下段(修正)入力欄」が規則的にあるものとします。 「Sheet2」の任意のセル(仮に「B1」に縦方向に順に以下の様な式を入力します。(5人分として。は6行目は空白セル合計用) 「B1」→「=IF(Sheet1!B2="","",Sheet1!B2)」 「B2」→「=IF(Sheet1!B4="","",Sheet1!B4)」 「B3」→「=IF(Sheet1!B6="","",Sheet1!B6)」 「B4」→「=IF(Sheet1!B8="","",Sheet1!B48」 「B5」→「=IF(Sheet1!B10="","",Sheet1!B10)」 「B6」→「=COUNTBLANK(B1:B5) 以上のセルを「C1~C5、D1~D5、E1~E5」と日数分、横方向へコピーします。 これで「6行目」に各日毎の空白セル数が自動計算されます。 「Sheet1」の空白セル数計算行(仮に「B11」)に次の式を入力します。 Sheet1の「B11」→「=Sheet2!B6」 上記の式を「C11、E11、D11・・・」とコピーして完了。 判りづらいと思いますがご容赦下さい。 不明な点は、補足にてお知らせ下さい。 要は「作業セル、作業Sheet 」をうまく利用することかな。

bigbig
質問者

お礼

ありがとうございました。作業シートを使うと言う方法でもできました。作業シートで「=IF(Sheet1!B2="","",Sheet1!B2)」を入力していくのが連続したセルナンバーではないので手間がかかりましたが しかし、こういう方法もあると言うことで目からうろこでした。ありがとうございました!!!

noname#148473
noname#148473
回答No.1

この場合は、 =sum(isblank(B2),isblank(B4),isblank(B6),isblank(B8),・・・,isblank(Bx)) というふうにするしかないのでは? あるいは、平常勤務のときは「平」といれることにしておきます。条件付き書式でセル内容が「平」のときは文字色=背景色となるようにすれば、見かけは何も入力されていないようになります。そうしておいて、COUNTIF関数を使えば平常勤務の人数がカウントできますね。 もし条件付き書式の使い方が分からなければ補足してください。

bigbig
質問者

お礼

=sum(isblank(B2),isblank(B4),isblank(B6),isblank(B8),・・・,isblank(Bx))とやってSUNの数値を入れるのがたいへんだったのですがこの方法でできました。ありがとうございました。

関連するQ&A

  • エクセルで勤務表

    職員20名程度の1ヶ月単位の勤務表をエクセルで作りたいのですが、テンプレートもしくは作り方をご存じないでしょうか?仕事は事務職(日勤)厨房(早出、日勤、遅出)介護職(早出、日勤、遅出、夜勤)です。当方WindowsXPです。尚、既存のソフトやフリーウェアは使いたくない(使えない)のです。

  • Excelの表の変換

    Excelで作った、業務の分担表があります。 分担表は縦軸は日付、横軸は8項目の業務項目で、この交点のセルに担当者の氏名が記入されています。 今回、この表から、縦軸は日付で同じですが、横軸に担当者を列記して その交点に業務内容が記入された表を作りたいのですが、効率良く作る方法があれば教えて下さい。

  • エクセルでの合計人数の自動カウントの仕方

    恐れ入ります。ご指導をお願いします。 エクセルにて出席者の数をカウントしています。 左縦軸に生徒の名前 横軸に月日 各セルに状況を入れます。 ただし、出席に対していくつか(3つ)の表記があります。 基本は各生徒が出席したならば、”○” 午前中のみの場合は”△” 代理の生徒の場合は、代理の名前””田中” その他はブランクです。 となっています。 横軸下のセルで合計したのは、その日の出席合計で2種類です。 1.全ての合計 2.△のみの合計です。 少し面倒そうですが可能でしょうか? 以上 宜しくお願い致します。

  • エクセル、行数をカウントしたい。

    エクセル初心者です。 よろしくお願いいたします。 エクセルでこのような表を作っています。   A  B  C 1 10 15 2 20 3    10 4    15 5 10 6 10 10 7 8 この時、データの入っている行数をカウントしたいのです。 上の例では 「6」 です。 途中に空白の行はありません。 A列、B列にはどちらにも数字が入る場合と、どちらかにしか 入らない場合があります。 なので COUNT は使えないですよね? 今まではデータを入力後、下の空白の行を削除し、C列で COUNTBLANK として求めていたのですが、表の長さ(行数)が一定でないため、 体裁が悪くなってしまっていました。 希望としては。 最終行のC列に「終了」などと入れると、その文字列を判別 してくれて、それより上の行数をカウントしてくれる。 または 例えば OR を使って、A列B列どちらかにデータがある 場合のみ、カウントしてくれる。 こんなワガママなことができたら、と思っております。 補足が必要ならばいたします。 それと、遅くなるかもしれませんが、お礼は必ずさせていただきます。

  • 勤務表でチェックした日付を別のシートに表示

    エクセルをつかって早出・遅出・日勤を表示した勤務表をつくりました。これを用いて遅出の日にマークをつけた日付を別のシートのセルに表示するいい方法はありますか? パソコン初心者なもので困っています。よろしくお願いします。

  • エクセル 文字を数値に変換

    エクセルで勤務表を作成する際に、 勤務シフトを入れると隣のセルに所定労働時間が自動的に 表示されるような数式をどなたか教えていただけないでしょうか。 勤務シフト=所定労働時間 日勤=7.5 午前(勤務)=3.75 午後(勤務)=3.75 入=7 明=9 早出=7.5 遅出=7.5 宜しくお願いします。

  • エクセルで2つの表をまとめたグラフを作りたい!

    エクセルで横軸に日付、縦軸に数値を記入するグラフを作成しようと思っています。 そこで、数値の数、及び日付が異なるデータを同一のグラフに載せたいのですがやりかたがわかりません。 AとBの表が二つあってそれを同じグラフにひとまとめ(横軸同一で)にしたい…といえばいいでしょうか。 グラフオプション等どこをどうすればいいか…悩んでいます。 分かる方教えてください。

  • こんな表をつくりたい(エクセルorアクセス?)

    アウトルックの「履歴」みたいな感じで 横軸に日付、縦軸に項目、そして、日付の行には数字を記入する、そして、日付や項目などで集計分析がしたい。そして例えばこの項目は、いつからいつまで数字が記入されているということが視覚的にもわかるようにしたい。エンドレスの工程表みたいなイメージでしょうか。 短期間ならばエクセルで簡単にできそうですが、データ数が多くなればアクセスの方がよいのでしょうか?ちなみに横軸(日付)は数年程度。縦軸(項目)は1日当たり平均10件程度を予定しています。 問題 1.横軸に日付をとろうとすると、エクセルでは256列しか記入できない(1日1列として、1年365日分記入できない)。月ごととかにシートを分割したくない。年数を気にせずデータ作成したい。 2.縦軸、横軸を逆にすれば、成立しそうだけど 項目には文章を入れたいので、表が間延びすると思う。そんなに長い文章は記入しないので、セルの縮小などはしたくない。 以上、よろしくお願いします。ちなみにエクセルは関数程度、アクセスは未経験です。

  • エクセルで、表のタイトル数を数える関数?

    表の中にある、数値を計算するのではなく。 表の中にある、空白でない文字列。 つまり表の中にある、縦軸のタイトル点数を数えたい。 例えば表にタテにタイトルが並んでて。そのタイトルの横に価格とか数字が並んでる表です。 どの関数を使えばよいのですか? たしかカウント関数とブランク関数とイフ関数を混ぜて数えるんだったかな?忘れてしまいました。 すんません。教えてください。

  • ピボットテーブルの元データが既に集計された表のとき

    上手く質問の内容が伝えられるか心配ですが。 ピボットテーブルは通常、元データの表は最上部にフィールド名があり、横軸にはフィールド名がないリスト化されたものを使用しますよね。 今回の質問は既に縦軸横軸にフィールド名がある、集計されている表をピボットテーブルの機能を使って色々な角度から集計したいとき、そのデータを整形する、またはそのままでもピボットに利用できる方法はないものかと考えています。 たとえば、横軸のフィールド名には「営業エリア」「支店名」と2段の項目があり、それぞれの支店の舌に、業績として「予算」「実績」「前年」と言うフィールド名が設定され、縦軸には「上半期、下半期」「月」と2段になったフィールド名があり、中にそれぞれの業績が表になっていると言う感じです。 なぜ、このようなことをしたいのかというと、私の会社で出力されるデータが全て集計表となっていて、自分のやりたい分析をピボットテーブルを使ってやるには適さないフォーマットでしかダウンロードできないからなんです。 縦軸、横軸にフィールド名がある集計された表を、ピボットでうまく使える方法や、エクセルのマクロなどどなたかご存じないでしょうか? よろしくお願いします。

専門家に質問してみよう