- ベストアンサー
エクセルで特定の曜日の日数を調べる。
毎回、適切なご回答ありがとうございます。 以下のことを教えてください。 出勤表を作っています。 A列に日付 B列に曜日 C列に出勤時間を記入します。 そこで教えていただきたいのですが、 例)水曜日の出勤日数X1,000円と土曜日の出勤日数X800円 というのを関数であらわすとしたらどうしたらいいのか分かりません。 どうぞよろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
NO1です。 >B列はTEXT関数とDATE関数で自動的に曜日が出るようにしてます。 ⇒このB列を基準に実施すれば良いと思います。 既にNO4さんがご回答済みですので参考にして下さい。 但し、出勤時間が空白の場合は計数しないとするのならば次の方法は如何でしょうか。 出勤表は、見出し行あり、一ヶ月分(31行)としています。 =SUMPRODUCT((B2:B32="水")*(C2:C32<>""))*1000 =SUMPRODUCT((B2:B32="土")*(C2:C32<>""))*800
その他の回答 (5)
- mt2008
- ベストアンサー率52% (885/1701)
出勤時間が空白ではない水曜日×1000+出勤時間が空白ではない土曜日×800 を求めたいのですよね? =SUMPRODUCT((WEEKDAY(A1:A31)=4)*(C1:C31<>"")*1000)+SUMPRODUCT((WEEKDAY(A1:A31)=7)*(C1:C31<>"")*800) 前半が出勤時間が空白ではない水曜日×1000、後半が出勤時間が空白ではない土曜日×800です。 B列の曜日がどのように入っているのか不明でしたので、日付から曜日を判断しています。
補足
そういうことなんです。 私の説明不足を代弁してくださってありがとうございます。 本当に分かりやすい説明ありがとうございます。
- imogasi
- ベストアンサー率27% (4737/17069)
関数でやろうと言うことでしょう。 すると「セルの値!」しか扱えません(表示形式の見た目は判別できません) それでA2以下に日付があるとして、B2に =TEXT(A2,"aaa") といれて式を月末日まで複写する。 月、火・・となる。 そこで水曜日の日にちの数,土曜日の日にちの数は、 COUNTIFで数えられるから =COUNTIF(B2:B31,"水")*1000+COUNTIF(B2:B32,"土")*800 ーーー B列を使わないなら、1条件の件数カウント問題で =SUMPRODUCT((WEEKDAY(A2:A31)=4)*1)*1000+SUMPRODUCT((WEEKDAY(A2:A31)=7)*1)*800
補足
わかりやすいご回答ありがとうございます。 私の説明不足で大変申し訳ないのですが、C列以降に各社員の勤務時間が記入されてるのですが、例)C列のAさんは水曜日出勤してる日としてない日があるので、出勤してるときのみの日数を調べて×1000円にする関数方法を教えていただければと思いました。 本当にすいません・・・
- higekuman
- ベストアンサー率19% (195/979)
どの行が水曜日なのか、を調べる方法は知っていますか?
補足
すいません。わかりません。
- come2
- ベストアンサー率32% (594/1811)
countif関数使えばいいのでは countif(”水”、範囲)×1000円 みたいに
補足
ご回答ありがとうございます。 一度やってみたのですが、#VALUE!のエラーが表示されます。 私のやり方が何かおかしいのだと思いますが、 countif(”水”、範囲)×1000円 の範囲の設定で正しくありませんと表示されます。 初心者のため、うまく表現できないですがこの補足でご理解いただけたでしょうか?
- mu2011
- ベストアンサー率38% (1910/4994)
A・B列セルの書式設定を明示して下さい。(文字列or日付シリアル値)
補足
説明不足ですいません。 初心者なんで、あまりわかりませんが、 A列は文字列だと思います。(普通に 1 と入力しただけです) B列はTEXT関数とDATE関数で自動的に曜日が出るようにしてます。 こんな感じでお分かりになりますでしょうか??
補足
ありがとうございました。 初心者の私でもできました!! 本当にありがとうございます。 皆さんのやさしさに涙がでてきました。 又何かありましたらよろしくお願いします。