[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『勤務管理を記号で管理したい』(キリキ)
勤務管理を記号で管理《例 12:00 の場合 12A》記号を時間に変換したい
勤務管理を時間ではなく、記号で管理しています。
例 12:00 → 12A 以降15分毎に12B・12C・12D
※契約時間も、3時間〜8時間と個別に違います。
IF関数で時間に変換したのですが、パターンが7種類以上あるのですが、どうしたらできるでしょうか?
IF関数の条件は7つ以上は出来ないのでしょうか?
=IF(シート名!A1="12A",0.5,IF(シート名!A1="12B",0.510416666666667
,IF(シート名!A2="12C",0.520833333333333,IF(・・・・・・・etc を続けたい。
まずA1に12Aと入っているとしましょう。本来B1に12:00と表示したいところですが、私の方法では12:00と表示するのはE1セルとさせてください。
B1とC1とD1に次の式を入れます。
B1=LEFT(A1,2) →これでB1には12と表示します。
C1=RIGHT(A1,1) →これでC1にはAと表示します。
D1=IF(C1="A","00",IF(C1="B","15",IF(C1="C","30",IF(C1="D","45"))))
→これでD1には00と表示します。
そしてE1=CONCATENATE(B1,":",D1) →これでE1には12:00と表示します。
B列からD列が見栄えが悪かったら、グループ化で隠してください。
※この場合だとA列で、0時45分の場合は、00Cという表記が必要になります。
(原始的とみり)
チョット出遅れました。 1. IF関数を使用する場合 =IF(RIGHT(A1,1)="A",TIME(LEFT(A1,LEN(A1)-1),0,),IF(RIGHT(A1,1)="B",TIME(LEFT(A1,LEN(A1)-1),15,),IF(RIGHT(A1,1)="C",TIME(LEFT(A1,LEN(A1)-1),30,),IF(RIGHT(A1,1)="D",TIME(LEFT(A1,LEN(A1)-1),45,),"wakarimasen")))) 2. 上記1を短くしたような式 =TIME(LEFT(A1,LEN(A1)-1),LOOKUP(RIGHT(A1,1),{"A","B","C","D";0,15,30,45}),) 3. 対比表を作成し、VLOOKUP関数で読ませる式(範囲は適当にしています) =VLOOKUP(A1,$F$1:$G$8,2,0) 仮に12Eを変換しようとした場合、 1は、wakarimasen 2は12:45 3は#N/A が返ります。 ちょっと時間がなくなりました。以下略ということで・・・(sin)
もう一つ質問があります。
上記のような計算式に、休みがあるときはどのようにすればいいのでしょうか?
※休みの場合は"/"の記号を使用しています。
こんにちわ。遅くなりました。
>上記のような計算式に、休みがあるときはどのようにすればいいのでしょうか? >※休みの場合は"/"の記号を使用しています。 IF関数で良いのでは??? IF(A1="/",0,式) ネストも大丈夫ですし・・・ それとも別の事なのでしょうか? (sin)
初歩的な質問でした。
原始的とみりさん、sinさん、ありがとうございました。
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.