[[20090805162238]] 『1日2回出社』(フラちゃん) >>BOT

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『1日2回出社』(フラちゃん)

いつも勉強させて頂き有り難うございます。

朝と夜の両方のシフトのあるタイムカードで、午前出社していったん帰り、夜又出社した場合、1日に2回分の交通費が支給されるようにその日は2日と計算されるようにしたいと思います。

         5:00〜22:00          22:00〜5:00

        A           B        C         H    I       J
 A3  日    13:00    16:00       22:00   24:00      2
 A4  月
 A5  火
 A6  水    17:30  22:00              22:00     24:00           1
 A7  木
 A8  金    10:00  15:00                     1
 A9  土
 A10  小計

この表のjの様にいったん退社して再度出社したときは2回、

継続して働いているときは1回。

どちらかのシフト1回しか出社しない場合は1回、

となるようにしたいのです。

c列の時間帯は22:00より前なので 「TIMEVALUE」 かなとか、<22:00とか
やっては見たのですが、よく分かりません。

ご教授の程、宜しくお願いいたします。


 ご提示の例で考えると
  C列とH列の両方に値が入っている時で
  C列とH列の値が等しくない時に  「2」
 って成れば良さそうですが・・・・
 他にも条件が出てきそうな予感が。。。

 (HANA)

 外出した時は1回とかですね・・・
 というか交通費なんかは月毎に一定額支払われるものだと思っていましたがいろいろな会社があるんですねぇ…

 思いつく限りの条件を上げてみてください。

 あとだしだとHANAさんが大変ですよ!
 (とおりすがっ太)


HANA様

その通りですね。 私もチト 関数苦手だけど、考えなければ・・・・ うむぅぅぅぅぅ

とおりすがっ太様

あまり条件があると又、又々又、 頭がこんがらかってしまいそう・・・・うむぅぅぅぅぅ


とりあえず、両方にデータがある/ない場合は

=IF(AND(C3="",H3=""),"","1")

で何とかなっているんですが、 交通費は実費支給で、ちょっと複雑になるともう分からないです。

ごめんなさい。

どうかご指導下さい。


 とりあえず後出し条件を考慮していない数式

 =IF(AND(COUNT(C3),OR(C3=H3,H3="")),1,IF(C3<>H3,2,""))

 (えくせる青年)2009/8/5 18:24

 B3,H3どちらか或いは両方に入力があるときで
  B3とH3の両方に値が入っていてC3とH3の値が等しくない時に  「2」
=IF(AND(B3="",H3=""),"",IF(AND(B3<>"",H3<>"",C3<>H3),2,1))

 ちなみに、"1"と1は違いますので
 確実にしておかれるのが良いと思います。

 (HANA)

えくせる青年様

早々のご回答ありがとうございます。

皆様、本当にすごい方ばかりで、感心しています。
本当にありがとうございます。

ところが、ご回答の<>がまたまた疑問として残ってしまいました。

もちろんコピペで第一の疑問は解決しましたが、エクセルの記号の「通訳」本が欲しいです。

初心者の私には < と > を ,などで区切らなくてもいいのかしら????

それとも、 <>  で一つの記号なのかしら????

って疑問の井戸に落ちています。

******はい上がるぞぉぉぉぉ******

HANA様

早々のご回答、ありがとうございます。

そうなんですよねぇぇぇぇぇ。

勤務日数だけを知りたいときは "1" でよかったんですけど、シフトが朝夜できてしまったら、この関数では対応できなくなってしまって・・・・・ 

トホホホホ〜

コピペして利用させていただきました。ありがとうございます。

このサイトで袖スリ合わせて頂きましたご縁で、厚かましくも、もう一つご教授ください。

HANA様のご回答の <>の意味はなんですか?

勉強したいので、、、、図々しく 質問が続きますが、
よろしくお願いいたします。


 こちらでどうぞ
[[20030709085333]]『<>の意味』

 例えば、
 A1>1 と書けば、A1が1より大(1は含まない)時に TRUE となりますね。
 A1<1 と書けば、A1が1より小(1は含まない)時に TRUE となりますね。

 イメージとして
  A1<>1 A1が1より大か、1より小 の時に TRUE  (※この行、編集しました。)
         → 1ではない時に TRUE
 と考えてみるとどうでしょう?

 >勤務日数だけを知りたいときは "1" でよかったんですけど
 に関しては、論点がずれているように思います。

 式1 =IF(AND(B3="",H3=""),"",IF(AND(B3<>"",H3<>"",C3<>H3),2,1))
 式2 =IF(AND(B3="",H3=""),"",IF(AND(B3<>"",H3<>"",C3<>H3),"2","1"))

 この二つは、同じような結果を出しますが
 式1の結果の1,2は数値であり
 式2の結果の1,2は文字である点が違います。

 式1の結果をSUM(範囲)で計算すると、セルに返されたデータを
 足し算した結果が得られますが
 式2の結果をSUM(範囲)で計算すると、0 になります。

 セルに「1」と入っていれば 人は見た時に「1が入っているな」
 としか思いませんが、エクセルは
 「これは値の1だな」や「これは文字の1だな」と
 区別して認識します。

 数値と数字の違いは、人は同じものとして扱ってしまいがちですが
 エクセルと関わっていく時は、二つを意識しながら
 扱っていかれるのがよろしいかと思います。

 それから、念のために書いておきます。
 >両方にデータがある/ない場合は 
 >=IF(AND(C3="",H3=""),"","1")
 と書いておられますが、この式で分けられるのは
  両方にデータがない場合
  片方か、両方にデータがある場合
 の二つです。

 両方にデータがある場合と、ない場合
 に分けられるわけではありませんので、注意して下さい。

 二つのセルの状態は以下の4つのパターンがありますが
   C3      H3     判定結果
 未入力 未入力     TRUE
 未入力  入力      FALSE
  入力  未入力     FALSE
  入力   入力      FALSE
 2,3番目のパターン(片方にだけ入力がある)場合も
 FALSEの方へ分類されます。

 その様な結果を返す数式を作っておられるので
 間違っておられないとは思いますが。。。

 (HANA)


ありがとうございます。

ロジカルに勉強になりました。

皆様の凄いことに関心しています。

そして、このサイトがあることにも感謝しています。

また何かありましたらよろしくお願いいたします。


 >  A1<>1 A1が1より大で、1より小 の時に TRUE
 は
 A1<>1 A1が1より大【か】、1より小 の時に TRUE
 に訂正します。

 まぎらわしいので、先に書いた方も直接変更しておきます。
 失礼しました。

 (HANA)


HANA様

"1"を使っていた勤務日数の月合計日数を返すセルには

=31-COUNTBLANK(AA1019:AA1049)

をいれて、計算してました。何でちゃんと計算されないんだろう???とさんざん苦労した末の式だったんですか・・・・

何とも遠回しな計算だったんですね。

勉強させて頂きました。 本当に有り難うございます。


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.