• ベストアンサー

Excelにおいて表示されている通りの値の取得方法

いつもお世話になります。    年と月を入力すると自動的に日付と曜日が入力されるような勤務表を作成しております。 2006年 12月  日 曜日 始業 終業 ・・・  1  金  2  土  3  日 曜日側にDATE関数を使っています。 曜日の表示形式はユーザ定義で、aaa としています。 困っていることは、土日の値が取得できないことについてです。 土日は、休日と扱っているので、就業時間=残業時間と表示させるために、IF関数を使いましたが土日の判定を行うことがでないので困っております。 残業を表示するためのセルには次式を使用しています。 10行目の場合 =if(or(C10="土",C10="日"),G10,(if(e10<=17.5,"",if(e10>17.5,e10-17.25""))) どのようにしたら土日判定を行うことができるのかご助言をお願いいたします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

=IF(WEEKDAY(C10,2)>5,G10,IF(E10<=17.5,"",E10-17.25)) でいいのではないかと? WEEKDAY関数は日付の曜日を1~7(引数が3の場合は0~6)に置き換えます。 引数 1 日曜=1,月曜=2....土曜=7 引数 2 月曜=1....土曜=6,日曜=7 引数 3 月曜=0....土曜=5,日曜=6 です。 WEEKDAY(C10,2)で6,7が土日になります。

refine
質問者

お礼

返答ありがとうございます。 解決できました

その他の回答 (2)

  • ja7awu
  • ベストアンサー率62% (292/464)
回答No.2

こんな感じで如何ですか。 =If(Or(Text(C10,"aaa")="水",Text(C10,"aaa")="日"),G10,・・・・

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

WEEKDAY関数で、曜日の取得はできたと思いますよ 詳しくは、Excelのヘルプ読んでね

関連するQ&A

  • エクセルで勤務表作成について

    昨日もご相談させていただき、色んな方からご回答をいただき、やったぁ~と喜んでいたんですが、色んな検証をすすめていくと、修正が必要だと判明したので、また助けていただけますでしょうか? 以下のような項目で表を作成しているんですが、G7:普通残業の部分でずっとひっかかっております。 宜しくお願いいたします。 A7:月日 B7:区分(土日・祝日に1を入力) C7:始業時間 D7:終業時間 E7:休憩時間 F7:所定時間(7:30までしか表示しない)   =IF(B7>0,"",IF(D7-C7-E7>7.5/24,$F$1,IF(C7="","",D7-C7-E7))) G7:普通残業(実働7:30を超え、8時間までの時間表示) ※ ここが上手く出来ません =IF(B8>0,"",IF(D7-C7-E7>7.5/24,IF(D7-C7-E7-7.5/24>=0.5/24,0.5/24,D7-C7-E7-7.5/24),""))という式を入れたんですが、C7:始業時間が9:30、D7:終業時間が18:30(18:30以外の時間は全て表示するようです)、E7:休憩時間が1:00の時、G7:普通残業には0:30とはいらないんです。 =IF(D7-C7-E7>7.5/24,IF(D7-C7-E7-7.5/24>=0.5/24,0.5/24,D7-C7-E7-7.5/24),"")という式では上の問題は解決するが、B7:区分に「1」を入力した場合に表示されてしまう。 B7:区分に「1」が入力された場合はJ7:休出残業とK7:休出深夜に数字が飛ぶようにしてあるんです。 H7:時間外(実働8時間を超え、10時間までの時間表示) =IF(B7>0,"",IF(D7>"22:01",D7-C7-E7-"8:00"-I7,IF(D7-C7-E7>8/24,D7-C7-E7-"8:00",""))) I7:深夜残業(実働10時間を超えた場合の時間を表示)   =IF(B7>0,"",IF(D7>"22:00",D7-"22:00","")) J7:休出残業=IF(B7="","",IF(B7=1,IF(C7="","",IF(K7="",D7-C7-E7,D7-C7-E7-K7)),"")) K7:休出深夜=IF(B7="","",IF(B7=1,IF(D7>"22:01",D7-"22:00",""),""))

  • Excel 未入力欄の#VALUE!を消したい

    エクセル初心者です。 エクセルでタイムシートを作っていますが、 時間未入力の日の 残業時間 E1欄 に#VALUE!が出てしまいます。 非表示にするにはどうしたらいいでしょうか? 始業時間 A1 9:00 終業時間 B1 18:00 休憩時間 C1 1:00 勤務時間 D1 8:00 (終業時間 B1-始業時間 A1-休憩時間 C1) 残業時間 E1 1:00 (勤務時間 D1-所定勤務時間 AA1) 所定勤務時間 AA1 7:00(欄外)   (↑9:00~17:00が所定勤務時間として7:00を表の欄外に入力) 上記の場合、勤務時間 D1欄は =IF(AND(B1="",A1="",C1=""),"",SUM(B1-A1-C1)) で求めました。 次に残業時間 E1を =IF(AND(D1="",AA1=""),"",SUM(D1-AA1)) と入力したところ、始業時間や就業時間を入力すると 正しく計算されますが、 始業時間と就業時間を入力していない日は#VALUE!と表示されます。 未入力の日のE1セルにエラー表示させない為にはどうすればいいでしょうか? (ISERRORを試しましたが失敗しました。) (条件付き書式もイマイチわかりませんでした) Versionは2007です。 お手数ですが解答をお願いします。

  • エクセルで時間外計算の仕方

    始業から終業時間がまちまちで、下記のような表を作成したいのですが上手くいきません。 何かいい方法はありましたら教えてくださいm(__)m 作りたい表↓ 超過時間は10時間以上、15分未満切捨てとし、残業代は1時間当り500円とした場合 始業時間  終業時間 稼動時間  超過時間   残業代  7:00    18:15    11:12     1:00       500  5:00    13:13     8:13      0:00         0 23:00     12:16    13:16       3:15        1625 作ってみて失敗した表↓ A1に10:00 B1に500と入力し A2に始業時間 B2に終業時間 C2に稼動時間 D2に残業時間 E2に残業代 として A2   B2      C3              D4                 E2 7:00   8:15  =FLOOR(B2+1-A2,"1:0")  =FLOOR(C3+1-A1,"0:15")  =D4*B1 ※稼動時間が10時間未満で残業がつかない場合の計算ができない ※残業時間に残業代を掛けた計算の計が違う 以上、IF関数を使えばいいのかとも思ったのですが、どう使えば有効なのかも判らずにおりました。 よろしくお願いします。   

  • Excel のIF関数について

    いつもお世話になっております。 Excel で表を作成しようとしています。 C列(始業時間) D列(終業時間) E列(休憩時間) を表示するようにしています。 E列の休憩時間に入る数値は『1:00』なので、 C列を入力したら自動的に表示するようにしようと思いました。 ただし、休みの日があったり、13:00以降の始業時間だと休憩時間はないので   始業時間が空白の時は、休憩時間も空白   始業時間が『13:00以降』の場合も休憩時間は空白 …というようになるようE列に下のようなIF関数をたててみました。 =IF(ISBLANK(C1),"",IF((C1)<"12:00","1:00","")) うまくいったように思ったのですが、始業時間に13時以降の時間を入れても 休憩時間は空白にならず『1:00』を表示してしまいます。 あれこれ考えたのですがギブアップです…。 どなたかアドバイスいただければ幸いです。 よろしくお願い致します。

  • excelの操作方法について

    勤怠表をexcelで作成しています。 休みとノー残業日を同じファイル内でシートを分けて入力しています。 例:休み→シートA   ノー残業日→シートB シートAには作業者の名前と週休日が入っており、IF関数を使用して週休日と曜日を照らし合わせて いて、週休日と曜日が被った場合に『休』と表示されるようになっています。  A3に作業者名(名前は東京 太郎)   B3、C3は東京 太郎の週休日(週休日は月・木)    D1からM1には日付(6/1~6/10までが表示されてます)    D2からM2にはTEXT関数で日付を曜日に変更して表示させてます。    D3からM3にはIF関数を使用しています。    例だとD3にはIF($B3=D$2,"休",IF($C3=D$2,"休",""))です。     シートBには作業者の名前とランダムで決めたノー残業日を入力してます。    A2に作業者名(名前は 東京 太郎)    B2からD2にランダムで設定したノー残業日を入力しています。    ノー残業日は6/1、6/4、6/8です。 休みが入力されているシートAにノー残業日(シートBに入力された)も反映させたいのですが、 既にシートAに『休』が入力されている場合、『休』を優先して表示させ『ノー残業日』を前日に ずらして表示させたいのです。 例えば、シートAのG3セルには既に『休』が表示されているが、ノー残業日(シートB)の設定も 6/4の為、G3に入力されることになる。だけど『休』を優先させて表示させたいので、ノー残業日は前日の6/3に表示させたいです。 とても困っています。 どなたか解決方法を教えて下さい。 お願いします。

  • エクセルでの曜日の表示方法について

    =TEXT(A1,"(aaa)") この様な関数で曜日を表示しています。 日付を入力していないときには(土)が表示されます。 入力しない場合は表示せず、入力した場合のみに曜日を表示させたいのです。 特に今の関数にこだわっている事もありません。 どの様にすれば良いか、誰か教えて下さい。御願いします。

  • エクセルで勤怠表を作りたいのですが。

     A B C D E F  1曜日 就業 終業 休憩 残業 7:45 2金 8:30 19:15 1:30 1:30 3土 10:00 15:00 1:00 ##### 休日出勤 上記の項目でE2=IF(AND(B2<>"",C2<>"",D2""),C2-B2-D2-$F$1,"")とし残業1:30と出る様にしましたが、E3は土曜日なので、全ての時間が残業扱いとなり、同じ式が使えません、そこで、F3にリストを使い休日出勤と入力した場合$F$1を削除し計算して4:00となる様にしたいのですが出来ますか? F1の7:45は定時時間です。 OS Win XP Excel 2002です、よろしくお願いします。

  • 勤怠の集計表をエクセルで作成しました。

    勤怠の集計表をエクセルで作成しました。 実際に手計算すると0:00になるのに、関数を組んだところ、###########・・・と表示されます。 どうしてですか? 内容は・・・ 『時』『分』を分けてセルに入力(例:A1セル→8、B1セル→:、C1セル→30)すると、 一日の労働時間を求めるようになっており、『残業』、『深夜残業』も求めるようにしています。 さらに表の下部に求められた時間の合計が表示するように作りました。 実際にテストで入力してみたところ、始業が14:00、終業が22:00(休憩なしで、8時間労働) にすると労働時間が求められ、『深夜残業』が0:00と表示されますが、『残業』が ##############・・・となり、カーソルを合わせると「負の日付又は時間は########と表示します」 とメッセージが表示されます。 しかし、実際は0:00と表示されてきてほしいのですが、上記のように表示され、表下部『残業』合計 が正しい数字になってきません。 いろいろと関数を組みなおしてみたのですが、結果は同じでした。 教えてください。よろしく御願いします。 ちなみに、私が組んだ関数は以下の通りです。 =IF(J6>"22:00",O6-"8:00"-R6-P6,IF(J6<"22:00",O6-"8:00"-P6)) 上記セルの内容は以下の通りです。   J6・・・終業、O6・・・労働時間、R6・・・深夜残業、P6・・・早出時間  基本となる時間は、   始業・・・8:30、終業・・・17:30です。

  • Excelで、特定の条件を満たすと指定のセルの値を消去するマクロ

    WindowsXP環境でExcel2000を使用しています。現在A列に日付、B列にA列の日付を引数として得た曜日を表示させ、条件書式で曜日が土日ならセルの色が赤くなるように設定しています。C列には始業時間D列は終業時間がそれぞれ予定としてあらかじめ入力した状態にしてあります。そこで、上記によって取得した曜日が土日にあたるセルの右側、つまりB列およびC列の値を自動的にもしくはマクロ処理で消去したいのですが、なにか良い方法はないでしょうか? よろしくお願いします。

  • エクセル2003の表示を教えてください。

    エクセル2003の表示を教えてください。 A1セルに2010年7月1日B1セルに数式で=CHOOSE(WEEKDAY(A25,1),"日","月","火","水","木","金","土")により曜日を表示してます。C1に土日だったら〇、そうでなければスペースとなる式を教えていただけますでしょうか。 sum関数しかわからないレベルの知識しか持っておりません。 どうぞよろしくお願いいたします。

専門家に質問してみよう