- 締切済み
チェックを入れて表示先を決めたい
月のタイムシートを作成していて、今までは全てが手入力だったので、出勤時間と退勤時間と休憩時間を入力したら、平日残業時間(Q)の欄に値が表示又は、深夜労働時間が発生した時にも(R)欄に自動計算で表示するようにしたり、年度や月の値を変更したら、日付と曜日が連動するようにしています。 今回、下記の事で困っています。 土曜日や日曜日、祝日などに出勤した場合、それぞれの時間(出勤時間、退勤時間、休憩時間)を入力した時の表示先が、平日残業時間(Q)欄になっています。 それで、曜日欄の右側に出勤チェック欄(D)欄を追加して、ココにチェックしたら、(Q)欄または休日出勤(S)欄に表示出来るようにしたいのですが、 ※年月を変更したら、日付と曜日が自動で変わるようにしてあるので、連動出来れば幸いです。 どなたか教えてください
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
画像がぼやけて、表の上部の見出し部分の文字が見えにくい。質問には参考にならない。 安易に画像を張り付けず、文章で質問を説明する方法があるだろうと思う。 画像を使うのは、質問には必要のない情報も見せてしまって、どこを見るべきかポイントがわからない、欠点もある。 こういうパターンの質問が多いのでOKWAVEは手を打つべきだろう。 ーー 下記の小生の表現を参考にしてみたら。 表題も、私なら、「引いてくる値を、セルの値によって変えたい」とするが、誤解しているかな。 ーー 下記は列や行やデータは、本当がわからないので」、でたらめでしょうから注意。意図をくみ取ってください。 関数を使って求めるデータを入れるとすると、最初のデータ行が第10行として、 土曜日の場合にはK列、日曜日の場合L列、平日の場合はM列のデータを、E列のセルに入れる場合は、 B列に曜日が文字で入っているとして、(書式のaaaを使っていないとして、(この注記が必要な理由がわかるかな)) 例データ B10 土 B11 日 B12 月 ・・ ーー K、L、M列の第I、臺2に行にそれぞれ参照する基準データなどがあるとして 土 日 平日 <--注記用 11 12 13 が入っているとする ーー E10列に求めるデータを入れるとして =IF(B10="土",K$2,IF(B10="日",L$2,M$2)) 下方向に式を複写する。結果B10-B14とE10-E14は 土 11 日 12 月 13 火 13 水 13 持ってくる列が、土、日、平日で誓う場合は H10セルに、=IF(B10="土”,K1,"") S10セルに、=IF(B10="日”,L1,"") C10セルに、=IF(B10=NOT((OR("日”,"土")),M10,"") ーー 場合によっては、WEEKDAY関数の1-7のコードを、別の値に置き換えるため、CHOOSE関数が使えるかもしれない。 ーー 場合分けが多い場合は、かつ条件が「文字列や数値である場合」は、VLOOKUP関数ででもできるかもしれない。 1の場合はa,2の場合はb、・・とケースが多い場合。対応表を作ってVLOOKUP関数を使う。 また「仕事に」エクセルを使うのだからVBAを勉強したらどうかな。
- tsubu-yuki
- ベストアンサー率46% (179/386)
おこがましいと思いつつ、考え方から整理します。 > 出勤チェック欄(D)欄を追加して、ココにチェックしたら、 > (Q)欄または休日出勤(S)欄に表示出来るように エクセルの一般機能には「ここがこうだから、あそこはこう」という機能はありません。 「あそこがああだから、ここはこう」という関数を使います。 IF関数を利用して =IF(どこがどうだったら,こう,(違ったら)どう) という感覚です。 ここまでくると日本語のニュアンスの問題ですが、重要なポイントです。 さてさて、実際のところ > 出勤チェック欄(D)欄を追加して、ココに"チェック" とはどのようになさるのでしょう? 「レ」を打ち込む?簡単に「1」を入力?チェックボックス連動? 色々ありますので、解説しきれません。 幸い、 > 日付と曜日が自動で変わるようにしてある ようですので、ここにWEEKDAY関数を使用しているものとして進めます。 =WEEKDAY(数値,2) としてやることで「月曜日=1~日曜日=7」を返すという使い方ができます。 これをIF関数と組み合わせて 平日の残業のセル:=IF(WEEKDAY(日付)<6,残業の計算式,"") 平日以外の残業のセル:=IF(WEEKDAY(日付)>=6,残業の計算式,"") としてやり、数値の表示形式を「[h]:mm」にしてやります。 祝日の判断も同様にIFで可能です。 ですが、祝日判定をどのようにしているか不明ですので、式は提示しません。 なお、COUNTIF関数を使用するのが考えやすいとだけ、補足しておきます。 ※方眼紙状態でセル番地を読むのが面倒なので、まったく読んでいません。 ご了承くださいませ。 まったくの蛇足で申し訳ありませんが、 「PRTSC」キー(キーボードによって微妙に違うかも)を押してやると、 クリップボードに「現在の画面表示」を格納できます。 MS-PAINT(ペイント)などに貼り付けることで スクリーンショットとして保存可能です。
- ushi2015
- ベストアンサー率51% (241/468)
こんにちは 平日残業時間(Q)欄、休日出勤(S)欄に数式がセットされているなら、 曜日のセルが土日かどうかを判定するIF文を追加すればいいのでは?