[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『出勤簿の作成』(クロネコ)
はじめまして♪ 出勤簿を作成しているのですが、H列「休暇・欠勤」を入力規則を使って、 全休、午前半休、午後半休、欠勤と4つのリストから選べるようにしました。 そしてI列「有給勤務時間」に H列が全休なら7:35、半休(午前/午後)なら4:40、欠勤なら0:00と最初したところ、 H列に何も選択せず空欄にしたところI列を使って計算する他のセルが#VALUE!と出てしまいました。 そのため、H列が空欄の場合も0:00としてみたのですが、やはり#VALUE!のままです。
=IF(ISBLANK(H10),"",IF(H10="全休","7:35",IF(OR(H10="午前半休",H10="午後半休"),"4:40",IF(OR(H10="欠勤",H10=""),"0:00"))))
休暇・欠勤の項目は、休暇・欠勤しない限り入力しないようにしたいので、 もし出来るようでも空欄をいちいち選ぶというのは避けたいです。 初めての関数で本を見ながらなんとなくやっていますので、他にも間違いがあるかもしれませんが、 どうかアドバイスお願いいたします。
winXP Excel2000 (クロネコ)
すみません、、わかりづらいので、まとめます。 H列のリストを何も選択しない状態で、I列を0:00にしたいです。 上の式で、欠勤の所までちゃんと反映されます。 リストを選択せず空欄のままだと、I列も空欄のままで、、I列を使った他のセルが 計算できず#VALUE!となってしまいます。
宜しくお願いいたします。m(_ _)m (クロネコ)
=IF(H10="全休","7:35", IF(OR(H10="午前半休",H10="午後半休"),"4:40", IF(OR(H10="欠勤",H10=""),"0:00"))) と、""とする個所を除かれたらどうでしょう? (LOOKUP)
長々と書いていたら、衝突してしまいました。 以下は、そのままをUPします。
>そのため、H列が空欄の場合も0:00としてみたのですが、 >=IF(ISBLANK(H10),"",IF(H10="全休",・・・・・・ ~~~~~~~~~~~~~~~~~~ 最初のIF関数の部分で、H10セルが空白ならば(TRUE)→""となってます。 そのため、この時点で""が返されていますので、 後半の、IF(OR(H10="欠勤",H10=""),"0:00"・・・ 部分は、欠勤の場合のみ反映されます。 最初の部分をカットする(IF(H10="全休"から始める)か、 最初でISBLANK(H10)がTRUEの場合は、 "" → "0:00" にするかです。 (sin)
Sinさまの「最初でISBLANK(H10)がTRUEの場合は、 "" → "0:00"」にしたところ
ちゃんと0:00になって計算されました!
とても分かりやすい説明ありがとうございました。勉強になりました。m(_ _)m
ちなみにLOOKUPさまの、""とする個所とういのはどこを削除したら良いのでしょうか?
もし時間があったらで結構ですので、お教えください。試してみたいと思います。
=IF(ISBLANK(H10),"",IF(H10="全休","7:35",IF(OR(H10="午前半休",H10="午後半休"),"4:40",IF(OR(H10="欠勤",H10=""),"0:00")))) ↓ = IF(H10="全休","7:35",IF(OR(H10="午前半休",H10="午後半休"),"4:40",IF(OR(H10="欠勤",H10=""),"0:00")))
見やすいように改行を入れたのですが。。 (LOOKUP)
ご丁寧に、とても分かりやすいお返事ありがとうございます^^;
最初の部分なくなっているの気づきませんでした。すっきりしました!
また質問させていただくかもしれませんが、宜しくお願いいたします。m(_ _)m(クロネコ)
私の説明って、ほんとに分りやすかったのか??? えぐえぐ(ノ_<。) (sin)
で、もう1つ質問なのですが、H列「休暇・欠勤」項目を午前半休とした場合、I列「始業時刻」を13:30とし、それ以外を自由に時刻を入力出来るように
したいのですが、=IF(H10="午前半休","13:30","")だと、I10のセルにに自由に数字を入力できません。
こういう場合何か方法はあるのでしょうか?
宜しくお願いいたします。m(_ _)m
>、=IF(H10="午前半休","13:30","")だと、I10のセルにに自由に数字を入力できません。 ●上の式をそのまま使う。 一度入力して、変更しないのでしたら、数式はそのままにして、数字入力の際は、そのまま上書き入力してしまう。
●入力規則を利用する方法 どこか空いているセルに『13:30』と入力確定し、そのセルを選択した状態で、 【挿入】-【名前】-【定義】で名前の部分に『午前半休』と入力し、OK。 ※下に出てくる参照範囲に、13:30を入力したセル位置が入っているか、念のため確認してちょ。 ここまでが、下準備。 次に I10セルを選択し、 【データ】-【入力規則】-【設定】タブで、入力値の種類:リストを選択し、元の値に =INDIRECT(H10) と入力。 【エラーメッセージ】タブを選択し、スタイル:[注意]か[情報]を選択し、OK。 ※タイトル・メッセージはお好きに入力してください。 スタイルを注意にする事で、リスト選択および手入力が可能となりますが、午前半休の場合でも手入力が可能です。
●という事で、入力規則を利用方法 ぱーとつぅー 【データ】-【入力規則】-【入力時メッセージ】タブ を選択し、 タイトルに 時間に入力に注意! メッセージに 午前半休の場合は、改行13:30 を入力してください。改行改行それ以外は、ご自由に時間入力してね! 、と入力(上記は例です改行はEnterで改行する意)してOK。これで、I10セルを選択した時点で、上記のメッセージが表示されます。
●マクロで処理する方法 専門外の為コメントなし。 (sin) 視覚だけでは理解できないかもね?
お返事ありがとうございます♪
やってみてようやく●入力規則を利用する方法で、なんとなく数字が出てきたのですが、
ドロップダウンではなく、直接表示させることは出来ませんでしょうか?
あと午前半休のときは、E列 始業時刻を13:30、F列 終業時刻を17:15
午後半休のときは、E列 始業時刻を 8:50、F列 終業時刻を13:35
と表示させたいのですが、1つのセルに入力規則を設定する度に前のがなくなってしまったり
とか上手くいきません。
何かいい方法がありましたらお教えください。m(_ _)m (クロネコ)
>ドロップダウンではなく、直接表示させることは出来ませんでしょうか? という事になると、私に出来ることは、 >●上の式をそのまま使う。 >一度入力して、変更しないのでしたら、数式はそのままにして、数字入力の際は、そのまま上書き入力してしまう。 しか分りません。 他では、最後に書いてるマクロになるでしょうが、私は使えません。
後半の部分に関して・・・ 私には、クロネコさんが作られている表も使い勝手(入力の仕方や集計方法 他)も分りません。 私に言える事は、 例えば、E10セルに =IF(H10="午前半休","13:30",IF(H10="午後半休","8:50","時間をここに入力して!")) という感じで、式を入力しておいて、自動表示させるか、そのまま上書き入力するか です。 プラス要素としては、条件付き書式を設定する事で、間違いに対して注意を促すとか。 もしくは、始業時間に関わる列を『入力用』・『半休等への対応用』・『時間確定用』等を設けて、 適切な時間を計算させるとか? 何にしても、どんな要素が考えられ、それに対しどんな処理をするのか を考えるのは、 クロネコさんです。私なんぞは、そのお手伝いを出来るかどうか ぐらいのものです。
以下、適当な事を書いてみると、こんな感じ。使えるか否かは、条件次第です。 氏名 日付 出勤区分 始業時間_A 始業時間_B 終了時間_A 終了時間_B 始業時間_確定 終了時間_確定 休憩時間 時間外労働_1 時間外労働_2 時間外労働_3 (sin)
お返事ありがとうございます♪
Sinさまのアドバイスを見て、マクロとやらを見てみましたが、、どうやるかさっぱり
わからないので、
エラーが出ているあたりを手入力してもらうようにしようかと。。
もう1度Sinさまに出して頂いた案を見直して考えてみます。
ありがとうございました。m(_ _)m
(クロネコ)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.