プロが教えるわが家の防犯対策術!

*********************************************  
曜日時間 月1 月2 … 金5 金6 集計

科  目 国語 数学   数学 国語 国語 数学

生徒あ  出席 欠席   出席 出席 0  1

生徒い  欠席 出席   欠席 欠席 2  1
*********************************************

のような場合、金曜6時間目の右側に、
1週間分の集計の列をつくり、
科目ごとの欠席の数を合計したいのですが、
どうしたら良いでしょうか?

もし都合がよいならば、「出席」を「0」、
「欠席」を「1」と入力することは可能です。

なるべく作業セルなど使わずにシンプルに
したいのですが。
よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

こんにちは~



> もし都合がよいならば、「出席」を「0」、
>「欠席」を「1」と入力することは可能です。

ということでしたら、「出席」 「欠席」 を入力するセルをすべて選択した状態で、メニューの 「書式」-「セル」-「表示形式」タブ
「分類」 から <ユーザー定義>を選び、右の 「種類」ボックスに、
[=0]"出席";[=1]"欠席

と入れてください。( "出席" と [=1] の間にセミコロン「;」が入ります )
これで、0 を入力すれば 「出席」、1を入力すれば 「欠席」 とセルには表示されます。
「出席」 「欠席」 は表示だけで、実際のデータは 0 または 1なので、単純に足し算をすれば、欠席日数を求めることができます。

念のため、0 と 1以外は入力できないように、もう一度 出席状況のセルをすべて選択した状態で、メニューの 「データ」-「入力規則」-「設定」タブ
「入力値の種類」 から<整数>
「データ」 から <次の値の間>
「最小値」 に 0
「最大値」 に 1
と入力してください。
これで 0 と 1 以外は入力できなくなります。

■科目別の集計方法
生徒氏名が A列、B1から右に曜日、2行目が科目名で、出席状況が3行目から入っているとします。
集計がどの列から始まっているのかわからないので、
ここでは仮に出席状況が K列まで、集計がL列からだとします。
L2 から右に集計用の科目名を入力してください。

L3に
=SUMIF($B$2:$K$2,L$2,$B3:$K3)

と入れて、右に科目数分フィルコピー
そのまま下に生徒人数分フィルコピーしてください。

★絶対参照($)のつけ方に気をつけてください。( L$2、$B3:$K3 です )

★セル位置は実際の表に合わせて変更してください。
    • good
    • 0
この回答へのお礼

なるほど、表示形式をこんな風に使うやり方が
あるんですね!目から鱗です。
それから、SUMIFって横方向にも
使えたんですね?!
勝手に縦方向だけと思いこんでいました。

丁寧でわかりやすい説明、ありがとうございました。

お礼日時:2005/10/05 19:33

複数の条件で、個数を数えるには


SUMPRODUCT関数を使います
=SUMPRODUCT((B1:M5="国語")*(B2:M2="出席"))
B1:M5には科目の行を指定(国語、数学・・・1週間分)
B2:M2にはその生徒の出欠結果の行を指定
します。(BとかMは説明用で適当です)

これでその生徒の国語の出席回数が求められます。
    • good
    • 0
この回答へのお礼

おおっっ!!
SUMPRODUCTですかぁ!
意外と簡単にできますね。
わかりやすい説明ありがとうございました。

この辺の関数には弱いもので(^^;)
勉強してレパートリーに入れたいです。

お礼日時:2005/10/05 19:29

すいません、回答したnaochokoですが、ご質問内容をよく読んでなかったようで・・・


科目ごとの欠席の数の集計ですね。
それでしたらVLOOKUPかな?
でもその場合、縦の表にして、さらに並べ替えしなければいけないはずなので無理ですね。
また方法を思いついたら回答しますm(__)m
    • good
    • 0
この回答へのお礼

そうなんです~。
表の向きは変えたくないんです。
また、よろしくお願いしま~す。
ありがとうございました。

お礼日時:2005/10/05 19:35

とても簡単ですよ!


右端の合計列に、COUNTIFという関数を使います。
まず一番上の合計のセルにカーソルを合わせて、挿入→関数をクリックし、関数の中から「COUNTIF」を選びます。
「範囲」のところで集計したい部分を選び(たとえばセルE3が合計の場合、A2:E2とか)、「検索条件」のところに"欠席"と入力します。
この場合、必ず前後に"をつけてくださいね!
これでOKをクリックします。
すると集計できているはずです。
あとは合計の列の一番下までこの数式をコピーペーストすれば表の完成です。
注意点はとにかく、日本語の検索条件を入れる場合は必ず""をつけることです。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで参加者を管理 出席者の数(○人)を計算で出るようにしたい

いつもお世話になっております。

パーティの幹事をすることになり、100人を超える参加者の出欠を管理します。
自分で作ったエクセルで管理しているのですが、
出欠の欄に「参加」あるいは「○」を入力した数が、一つの枠に「合計」として計算されるように設定はできますか?
数字であれば、「この欄とこの欄とこの欄の値の合計をあの欄に反映される」という設定をできますよね。
それを、「○」の入力を数えるようにできませんか?
(漢字入力の「参加」「不参加」を見分けることは無理だと思うので、せめて「○」と「不参加」を見分けることはできないかなー、なんて)
「○」と入力した欄の横に「1」として、計算式を出すようにするしか方法はないでしょうか?

エクセルに詳しい方、アドバイスをお願いします。

Aベストアンサー

出欠データがA列の2行目から100行目まで入力されているとして、
=COUNTIF(A2:A100,"○")
これでいけます。

「参加・不参加」で管理する場合は
=COUNTIF(A2:A100,"参加")
=COUNTIF(A2:A100,"不参加")
こちらでも無問題です。

ちなみに空欄をカウントしたい場合は
=COUNTBLANK(A2:A100)

Qエクセルで出席簿を作る

エクセルの初歩的質問です。
簡単な出席簿を作ろうと思いますがどんな数式を入れたらいいのか調べてもさっぱり解りません。

例えば
A列 B列 C列 D列
123 山田 Aクラス 男
456 鈴木 Bクラス 女
789 佐藤 Aクラス 女

と入れた時それぞれクラス別のシートに飛ぶように
したいのです。出来ればAクラスでも同じシートに男女別に飛ばすことは出来ますか。
よろしくお願いします。

Aベストアンサー

よく、このテの質問があるのですが、
エクセルのワークシートには、他のセルをどうこうする機能はありません。
「A1セルにデータを入れたら、B1セルにも入る」は出来ませんが
「A1セルにデータを入れたら、B1セルにも表示」はできます。
前者は、何も入っていないB1にA1の内容を流し込むことで、
後者は、予めB1に[=A1]と数式をいれておくことです。

お望みの動作をさせるにはマクロ(VBA)でプログラムを組まなくてはなりません。
また、データを二重に持つことになるので、整合性が失われる恐れも出てきます。

「オートフィルタ」機能を使えば、シートを分けずとも、同じ効果が得られます。
ご参考まで...

Qエクセル 出席簿作成(1)

いつもお世話になっております。
今,エクセルで出席簿を作成しています。
そこで,以下のことができないかと思ってご相談です。

出席停止欄及び忌引欄に情報(欠席日数とその事由)を記入した生徒の名前と,入力した情報(欠席日数とその事由)だけを集約して,自動で一覧に表示できないでしょうか?
詳しくは添付画像を見ていただけたらと思っています。

これができるようになれば,かなり校務が楽になります。
どうか,ご教授ください。

Aベストアンサー

1つのセルに複数の行を一気に入れるのは難しいので、まずは、D1セルに以下の式を入れて、D9セルまで下にドラッグコピーしてみてください。
=IF(MOD(ROW(A1),3)=0,"",IF(C1="","",IF(MOD(ROW(A1),3)=1,A1&" "&B1&C1&CHAR(10),"")))

また、1つのセルに複数の行を入れるには、任意のセルに、以下の式を入れてみてください。
=D1&D2&D3&D4&D5&D6&D7&D8&D9

QExcelで出席簿

頼まれて出席簿を作る事になりました。
普段あまりExcelは使わないので、早速つまってしまいました。ご教授ください。m(__)m

  A   B  C  D ・・・  X   Y   Z   AB
1    1日 2日 3日    31日 出席 欠席 開講数
2曜日  月  火  水    水
3太郎
4花子

こんな感じです。
出席は無記入で、欠席の時に斜線(スラッシュ)を引く形で、休日は日曜日・祝日です。
で、質問は出席・欠席の合計数を出すための方法です。
今は出席合計欄に=COUNTBLANK(B3:G3,I3:N3,…:X3)と、欠席合計欄に=COUNTA(B3:X3)と入力していますが、これだと出席合計欄の計算式を毎月直す必要があります。(日曜日を省くため)
もっと簡単に合計数を出せる方法はありますでしょうか?

Excel2000、WinMeです。
あ、日曜・祝日はセルを色で塗りつぶしています。
お願いします。

Aベストアンサー

日曜日に全く出勤しないという前提なら、
単に曜日の欄で「日」の数だけ引き算すればいいのでは?

=COUNTBLANK(B3:G3,I3:N3,…:X3)

=COUNTBLANK($B3:$X3)-COUNTIF($B$2:$X$2,"日")


また、祝日に「祝」の字を入れているなら、

=COUNTBLANK($B3:$X3)-COUNTIF($B$2:$X$2,"日")-COUNTIF($B$2:$X$2,"祝")

Qエクセルで打ち込んだ数字を自動で別シートに表示したい

エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。

例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。

また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

Aベストアンサー

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コピー&リンク貼り付けを使うと便利です。

例)例)シート1のC1~C5に何かを入力したら、
  シート2のD2~D7にシート1で打ち込んだものが自動で表示される

  シート1にあるコピー元のセルを範囲選択して、
  シート2のD2の上で「右クリック」⇒「形式を選択して貼り付け」
  をクリックします。

  そして出てきた小さな画面の左下にある「リンク貼り付け」という
  ボタンをクリックすると完成です。
  試してみてください。。

  念のためにリンク貼り付けを図解しているURLを載せておきます。
  参考にしてみてくださいね。。
  http://www.geocities.jp/office_inoue/excel/eq21.htm

こんばんは。
入力したセルの値を合計とかでなくて、
純粋に別のシートに自動的に表示したいのであれば、
以下の方法があります。

1.1つのセルだけの場合
例)シート1のC1に5を打ち込んだら、
  シート2のD2にシート1で打ち込んだ5が自動で表示される

⇒シート2のD2のセルをアクティブにして「=」を入力
 した後、シート1のC1をクリックする。
 そうするとD2のセルに「=Sheet1!C1」と表示され、値が自動的に
 表示されるようになります。

2.1列全てコピーしたい場合。
  コ...続きを読む

Qエクセル・・色の着いたセルの個数を数える関数はある?

エクセルの表内で塗りつぶしされているセルだけを数える様な関数はありますか?
セルには文字や数値は入力されておらず、塗りつぶしているだけです。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもしれませんね。

なお、以下は、引数のインデックスに0を入れると、配列出力するようにしてあります。

'------------------------------------
Function ColorCellCount(範囲 As Range, Optional インデックス As Integer = 1, Optional パターン As Integer = 0)
  Dim myRng As Range
  Dim myIndex As Integer
  Dim myPattern As Integer
  Dim myColor() As Integer
  Dim Ret() As Double
  Dim c As Range
  Dim i As Long
  Dim j As Long
  Set myRng = 範囲
  myIndex = インデックス
  myPattern = パターン
For Each c In myRng
   On Error Resume Next
   If myPattern = 0 Then
     i = WorksheetFunction.Match(c.Interior.ColorIndex, myColor, 0)
   Else
     i = WorksheetFunction.Match(c.Font.ColorIndex, myColor, 0)
   End If
   If i = 0 Then
     ReDim Preserve myColor(j)
     ReDim Preserve Ret(j)
      If myPattern = 0 Then
       myColor(j) = c.Interior.ColorIndex
      Else
       myColor(j) = c.Font.ColorIndex
      End If
      Ret(j) = 1
     j = j + 1
     On Error GoTo 0
     Else
      Ret(i - 1) = Ret(i - 1) + 1
   End If
  Next
  If myIndex <= 0 Then
   ColorCellCount = Ret()
  ElseIf myIndex > UBound(Ret) + 1 Then
   ColorCellCount = Ret(UBound(Ret()))
   Else
   ColorCellCount = Ret(myIndex - 1)
  End If
  Set myRng = Nothing
End Function

ワークシート上での使い方は、

A列
色付き
色なし
色なし
色付き
色付き

=ColorCellCount(A1:A5, 1 )

とすれば、上から数えて、1番目の色のセルの数が出ます。

=ColorCellCount(A1:A5, 2 )
を入れれば、色なしのセルの数が出ます。

=SUMPRODUCT(ColorCellCount(A1:A5, 0 ))

とすれば、全部の合計が出ます。

なお、
=ColorCellCount(A1:A5,1,1)

とすれば、文字の色を数えます。

こんにちは。

ユーザー定義関数で作ってみました。Ver4 マクロ関数で十分だと私は思いますが、Ver 4 マクロ関数ではケシカランというような方?は、以下のようなVBAでの解決方法が便利かなって思います。

VB Editor の標準モジュールに貼り付けてください。(挿入-標準モジュール)

なお、一般のブックの標準モジュールのユーザー定義関数に、Public キーワードをつけたところで、グローバル関数になるわけではありませんので、もしその点に不安のある方は、マニュアル等で、確認されたほうがよいかもし...続きを読む

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Qエクセルのセルの背景色を印刷しない方法

定期的に使う帳票や伝票をエクセルで作っています。
入力すべき部分のセルに色をつけて記入漏れや間違いの無いようにしているのですがこのセルの色を印刷しないように(入力値だけを印刷)する設定はありますか?

Aベストアンサー

ページ設定→シート→白黒印刷

Qエクセルで〇の数を数えたい

エクセルで〇の数を数えたい。関数式はどうなりますか。
c5~c45の○を挿入したセルの数をc50にだしたいのですが。
ひさしぶりにエクセルやったので、忘れてしまいました。

Aベストアンサー

#1です。
おかしいですねえ。

まさかとは思いますが、
・「○」のつもりが、英語の O になってるとか、数字の0とか、漢数字の〇になってるとか
・○の前後にスペースが入っていないか

このあたりを見てみましょう。


このカテゴリの人気Q&Aランキング