1ヶ月のカレンダーを作成しています。
カレンダーの様式は一行が一週間で月曜日に始まり日曜日に終わっています。
例えば11月なら1行目は1日が「E,3・4」のセルになります。4日は「A,5・6」のセルになります。
一日が2行あるのは上の行には日付を、下の行には入力したい数情報を入れるためのセルです。このようなカレンダーに毎日残業時間を入力していきます。
残業時間は午後5時以降からです。これは不変です。午後10時まで「普通残業」午後10時以降は「深夜残業」になります。これも不変です。
そこで例えば、11月1日に午後8時まで残業した場合は、1日と表示しているセルの下のセルに「3」と入力します。
するとカレンダーの11月の下の方に「普通残業合計」「深夜残業合計」とそれぞれ表示されたセルがあり、「普通残業合計」のところに「3」と表示させたいのです。
次に11月2日に午後11時まで残業したとします。
カレンダーの2日と表示されているセルの下のセルに「6」を入力します。
すると先程の11月の下の方の「普通残業合計」は1日の「3」と2日の「5」を足した「8」と表示され、「深夜残業合計」には「1」と表示させたいのです。
以下同じようにそれぞれの日付に残業した時間だけ数字を入力していき、普通残業時間、深夜残業時間、それぞれ表示させたいのです。
どのような関数を使用すると毎日その日付のところに数字を入力するだけでそれぞれの合計が出るでしょうか。
宜しくお願い致します。
なお数式の入力の仕方ですが「( )」や「 、」などは必ず入れなければならないですよね。その場合大文字ならば不可とかあるのでしょうか?
せっかく教えてもらってもその辺が分からずエラーになる場合があるかもしれませんので詳しく教えてもらえれば是幸いです。

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

A 回答 (6件)

次の式をコピーしてそのまま貼り付けてみてください。



・普通残業合計
=SUMIF(A4:G4,"<=5",A4:G4)+COUNTIF(A4:G4,">5")*5+SUMIF(A6:G6,"<=5",A6:G6)+COUNTIF(A6:G6,">5")*5+SUMIF(A8:G8,"<=5",A8:G8)+COUNTIF(A8:G8,">5")*5+SUMIF(A10:G10,"<=5",A10:G10)+COUNTIF(A10:G10,">5")*5+SUMIF(A12:G12,"<=5",A12:G12)+COUNTIF(A12:G12,">5")*5+SUMIF(A14:G14,"<=5",A14:G14)+COUNTIF(A14:G14,">5")*5

・深夜残業合計
=SUMIF(A4:G4,">5",A4:G4)-COUNTIF(A4:G4,">5")*5+SUMIF(A6:G6,">5",A6:G6)-COUNTIF(A6:G6,">5")*5+SUMIF(A8:G8,">5",A8:G8)-COUNTIF(A8:G8,">5")*5+SUMIF(A10:G10,">5",A10:G10)-COUNTIF(A10:G10,">5")*5+SUMIF(A12:G12,">5",A12:G12)-COUNTIF(A12:G12,">5")*5+SUMIF(A14:G14,">5",A14:G14)-COUNTIF(A14:G14,">5")*5

前回の回答では1行、あるいは1列のみ対応でしたので、多少修正しました。

ただ、この式をこのままコピーして貼り付けるとなぜか数行、セルが結合されますので、手動で戻すか、一旦メモ帳などに貼り付けてからそれをコピーしてExcelに貼り付けてください。
    • good
    • 0
この回答へのお礼

今回も本当にありがとうございました。
BINGO!です。pesoさんのおかげで解決いたしました。
もうなんてお礼を申し上げていいか、涙が出てきそうです。
本当に感謝しております。20点なんて足りなすぎるくらいです。
やっと来年度から導入できそうです。
ありがとうございました。

お礼日時:2001/11/19 20:21

ちょっとだけ簡単に出来ます。


深夜残業合計の方は
=SUM(A4:G4)+SUM(A6:G6)+SUM(A8:G8)+SUM(A10:G10+SUM(A12:G12+SUM(A14:G14)-普通残業合計
でいいですよね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
なるほどその手もありましたね。
でも本当に皆様の暖かいご指導のもと、ちょっとEXCELを理解できたような気がします。
本当にありがとうございました。

お礼日時:2001/11/19 20:30

何度も済みません。

pesoさんの回答の意味が分かりましたので説明します。とその間にpesoさん自らが数式を示してくれましたね。

まず、普通残業合計
=SUMIF(A4:G4,"<=5",A4:G4)+COUNTIF(A4:G4,">5")*5
についてです。(以下は、行をまたいでいるのを全部足しているだけですのでここまでの説明でokかと。)
・SUMIFの部分は、「範囲A4~G4の中で5以下の部分を合計しなさい」
・COUNTIFの部分はCOUNTIFが「範囲A4~G4の中で5より大きい(6以上)の部分の個数を求めなさい」で、*5がついてるので、それを5倍する、つまり「範囲A4~G4の中で6以上の部分の個数を求め、それを5倍しなさい」ということになります。
それを足すことにより、普通残業合計になります。(足し算をしないと深夜残業をした日の普通残業分の時間がカウントされないからです。)

次に深夜残業合計
=SUMIF(A4:G4,">5",A4:G4)-COUNTIF(A4:G4,">5")*5
(以下については普通残業合計のときと同じです。)
・SUMIFの部分は「範囲A4~G4の中で5より大きい(6以上)部分を合計しなさい」
・COUNTIFの部分は「範囲A4~G4の中で5より大きい部分の個数を求め、それを5倍しなさい」となります。
SUMIFの結果から、COUNTIFの結果を引くことにより、深夜残業合計になります。(引き算がないと、深夜残業をした日の総残業時間となってしまいます。)

最後にSUMIF関数に範囲が二つあることについてですが、
SUMIF(範囲1,条件,範囲2)
のとき「範囲1」は条件を満たすものを検索する範囲、「範囲2」は合計を出す範囲になります。普通は範囲1=範囲2で使うことが多いと思います。

これで、ご理解いただけたでしょうか。
    • good
    • 0
この回答へのお礼

詳しい説明ありがとうございます。
ハイ,理解しました。
何とか無事に解決できました。

お礼日時:2001/11/19 20:23

ちょっと手を離している間にいろんな回答が寄せられていますが、


私なりの回答を・・・

内容が複雑すぎるので、簡単なところから・・・
まず、「( )」や「、」は、自動的に半角になります。ご存じかと思いますが。
次に、関数名やセル名も、自動的に大文字になります。
日本語入力をoffにしていれば、全く問題はありませんが・・。

セル名を書く時は、「E3:E4」と書きましょう。
ちなみに、日付・普通残業・深夜残業を入力する為に、1日は3行必要ですよね?
4日がA列であるならば、日曜に始まり土曜で終わるのですよね?

シートの1行目と2行目をあけてらっしゃるようなので、
第一週が、日:A3:A5,月:B3:B5・・・土:G3:G5となるでしょう。
通常6段あれば一ヶ月は足りますので、最下段(最終週)は、日:A18:A20,月:B18:B20・・・土:G18:G20となるでしょう。

11月2日の残業は、普通5と深夜1ですよね?

B22に普通残業の合計を取れば、
=SUM(A4:G4)+SUM(A7:G7)+SUM(A10:G10)+SUM(A13:G13)+SUM(A16:G16)+SUM(A19:G19)
B23に深夜残業の合計を取れば、
=SUM(A5:G5)+SUM(A8:G8)+SUM(A11:G11)+SUM(A14:G14)+SUM(A17:G17)+SUM(A20:G20)
となります。

今までの方の回答は、普通残業と深夜残業を自動で振り分ける高度な方法みたいですね。
さすがです。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
また沢山の方から回答をいただき本当に感謝しております。
一人ずつ順番にお礼を申し上げたいのですが、今ざっと目を通してみてまず初めにp-leisureさんからお礼の言葉を書き込みたいと思います。
と言うのも、また私の説明が不足していた為にp-leisureさんには誤解をさせてしまっていたからです。本当に失礼致しました。
>日付・普通残業・深夜残業を入力する為に、1日は3行必要ですよね?
いえ、2行でいいんです。1行目に日付2行目にその日の総残業時間を入れるのです。
>4日がA列であるならば、日曜に始まり土曜で終わるのですよね?
申し訳ございません。私の勘違いでした。壁にかかっているカレンダーを見ながら質問文を作成していましたのでずれてしまいました4日ではなく5日でした。
でも作成要領、入力要領に関して詳しく教えていただいて本当にありがとうございました。
>今までの方の回答は、普通残業と深夜残業を自動で振り分ける高度な方法みたいですね。
そのとおりなんです。上司から依頼されたのはまさに自動で振り分ける方法を申されましてそれで困っていた次第でございます。

お礼日時:2001/11/19 18:54

済みません。

先の回答の最初の一文
>参考URL(あなたが以前された質問ですね)の#3のpesoさんの回答でよろしいかと思います
は無視してください。勘違いしてまして、pesoさんの回答をよくよく見ると、私にもよく分かりませんでした。

で、私ならこうします。結論としてワンクッション置きます。
先ず、先の質問の#1のKODAMARさんの回答そのままですが、総残業時間から各日の普通残業時間と深夜残業時間を出してしまいます。もう一度書くと、

総残業時間が入ったセルをE4とし、
普通残業時間をセルJ1
深夜残業時間をセルK1に入れるとすると

J1のセルには
=IF(E4>5,5,E4)
K1のところには
=IF(E4<5,0,E4-5)
とします。
(KODAMARさんの回答にある、「=E4-5」では、マイナスの数値が出てしまいますので、少し変えました。)

この要領で、J1~J31、K1~K31まで作ります。(ちょっと面倒ですが)

で、最後に普通残業合計を入れるセルに
SUM(J1:J31)
深夜残業合計を入れるセルに
SUM(K1:K31)
とすれば良いわけです。

下手に、一つの関数で済ませようとするより、このようにワンクッション置く方が初心者(失礼)には間違いがないかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
確かにその要領でやれば各合計は出ると思います。
私も難しかったので上司に分けて入力する方法を提案したのですが却下されてしまいまして・・・
でもやっと解決いたしました。
本当にありがとうございました。

お礼日時:2001/11/19 20:18

参考URL(あなたが以前された質問ですね)の#3のpesoさんの回答でよろしいかと思います。



>なお数式の入力の仕方ですが「( )」や「 、」などは必ず入れなければならないですよね。その場合大文字ならば不可とかあるのでしょうか?
「大文字」と仰っているのは、全角・半角のことかと思います。
関数を入力する場合は、必ず、半角の記号を使います。
「、」(読点)は関数入力には使用しません。使うのは「,」(コンマ)ですね。入力モードを半角英数か、直接入力にしてから入力すると間違いないでしょう。

あと、行が複数にまたがっているので、各行ごとに小計の欄を設け、その小計の合計を「普通残業合計」「深夜残業合計」欄に反映させるようにされた方がうまくいくと思います。

念の為ですが、範囲の入力は「A6:G6」のように入れます。言葉で書くと「範囲の左上:範囲の右下」です。(もちろん、全部半角で入力します。)

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=165744
    • good
    • 0

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

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

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

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

Qエクセル:偶数セルと奇数セルそれぞれの合計

エクセルで作成した表で 「A2+A4+A6」 や 「B3+B5+B7」のようにそれぞれ偶数セル、奇数セルの数値の合計を表示させたいのですが、よい計算方法はありますか?それとも何十個というセルを地道に足していくしかないのでしょうか? 少ないセル数ならいいのですが、多くのセルの合計を出したいので困っています。どなたか分かりやすく教えていただけないでしょうか?お願いします。

Aベストアンサー

偶数行
=SUM(IF(MOD(ROW(A2:A7),2)=0,A2:A7))
としてCtrl+Shift+Enterで配列数式にする。
奇数行
=SUM(IF(MOD(ROW(B2:B7),2)=1,B2:B7))
としてCtrl+Shift+Enterで配列数式にする。
※列の場合はROW()の変わりにCOLUMN()を使う
※2行おきの場合はMODの引数を2から3に変更して結果を0~2で比較

Qエクセルで入力があったセルの隣のセルの合計

   (A)   (B)   (C)
(1) 金額   4月   5月
(2) 2000   7
(3) 3000        1
(4) 4000   9

上のような表で、4月(B)に入力された分だけ金額(A)の合計を出すにはどうしたらよいでしょうか?
合計6000と出したいです

よろしくお願いします

Aベストアンサー

「B列の最終行に合計」でいいのでしょうか。

=SUMIF(B1:B3,">0",A1:A3)

B列に0以上の数値が入力された場合、A列の金額を足すという関数ですが、質問の解釈は間違ってないですか?

Qエクセル97で列のセルに入力されている箇所のみセル数を合計する方法

各列のセル内に、各種の文字が入っている列と各種日付が入っている列が混在しています。
日付の場合列の一番下にセルに入力されているセルの数の合計が出るようにしたい
また、各種の文字が入力されている列では、特定の文字が入力されている数の合計も出るようにしたいのですが分かりません
私はVBAは分からないので、その他のやり方で教えて欲しいのでよろしくお願いします

Aベストアンサー

再回答
やっと解析出来た(解析力が鈍くて済みません)

a1 8/1 a2 8/2  a4 8/4  
a5=count(a1:a4)で3と表示されます。

b1 a  b2 b b4 a
b5=countif(b1:b4,”a”)で2と表示されます

ついでにエクセル技道場の頁を紹介します
参考になれば幸いです。

参考URL:http://www2.odn.ne.jp/excel/waza/function.html#SEC15

Q個々のセルに入力した数字の合計を別のセルに一桁ずつ表示する方法

こんばんは。いつも大変お世話になります。
なかなか良い関数の使い方が思いつかず、また皆様のお知恵を貸していただければと思い、質問させて頂きます。

E1に「3」、F1に「5」、G1に「7」 今日の売上値とする
H1に「9」、I1に「7」、J1に「5」 昨日の売上値とする
※ G1,J1は百の位 F1,I1は千の位 E1,H1は万の位です
この合計値をA1(万の位)、B1(千の位)、C1(百の位)にそれぞれ出したいのです。
この場合だとA1に「13」、B1に「3」、C1に「2」となります。

上記のような事をしたいのですが、可能でしょうか?
申し訳ありませんが、何とぞよろしくお願いします。

Aベストアンサー

こんばんは

何通りか記載します

1案 一旦文字列にしてから計算

A1 =INT(((E1&F1&G1)+(H1&I1&J1))/100)
B1 =INT(MOD(((E1&F1&G1)+(H1&I1&J1)),100)/10)
C1 =MOD(((E1&F1&G1)+(H1&I1&J1)),10)

実際は入力エラーチェックの式を付加する必要があります。

2案 こちらは数値に忠実な処理

A1 =INT((SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1))/100)
B1 =INT(MOD(SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1),100)/10)
C1 =MOD(SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1),10)

3案 配列数式

A1 =INT(SUMPRODUCT(E1:J1*{1,0.1,0.01,1,0.1,0.01}))
B1 =INT(MOD(SUMPRODUCT(E1:J1*{0,1,0.1,0,1,0.1}),10))
C1 =MOD(SUMPRODUCT(E1:J1*{0,0,1,0,0,1}),10)

こんばんは

何通りか記載します

1案 一旦文字列にしてから計算

A1 =INT(((E1&F1&G1)+(H1&I1&J1))/100)
B1 =INT(MOD(((E1&F1&G1)+(H1&I1&J1)),100)/10)
C1 =MOD(((E1&F1&G1)+(H1&I1&J1)),10)

実際は入力エラーチェックの式を付加する必要があります。

2案 こちらは数値に忠実な処理

A1 =INT((SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1))/100)
B1 =INT(MOD(SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1),100)/10)
C1 =MOD(SUM(E1,H1)*100+SUM(F1,I1)*10+SUM(G1,J1),10)

...続きを読む

Qエクセルで日付が入力されたセルの隣のセルの金額を合計するにはどうするのでしょうか。

A1、C1、E1セルにはユーザー定義(d”日”)で数字を入れると日付になります。
各、隣セルB1、D1、F1には金額が入力されています。
G1には合計が入るようになっています。
例えば、A1とE1に日付が入力された時、B1とF1の合計がG1に。
その後、C1に日付が入力されたらG1がB1、D1、F1の合計になるようにしたいです。
よろしくお願いします。

Aベストアンサー

こんばんは!
横からお邪魔します。

G1セルに
=SUM((A1>0)*B1,(C1>0)*D1,(E1>0)*F1)
ではどうでしょうか?m(_ _)m


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

おすすめ情報