[[20201124171105]] 『IF関数で出した数値を合計したい』(ちゃん) ページの最後に飛ぶ

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

 

『IF関数で出した数値を合計したい』(ちゃん)

勤怠管理でエクセルを使用しています。
平日・土日と祝日で休憩時間が異なります。
平日は1時間20分 土日・祝日は2時間20分です。
以下のように、曜日の入っている欄を参照し、
自動で休憩時間が入るようにしました。
(下記ご覧ください)

1週ごとに休憩時間を合計したいのですが、
SUMだと0になります。
また、数値の「””」を削除しても0になります。
教えていただけますでしょうか。宜しくお願いします。

=IF(D7="公休","",IF($D$2="土","2:20",IF($D$2="日","2:20","1:20")))

公休日は休憩時間を出さないようにしています。

D2が曜日のセルです。

< 使用 Excel:Excel2013、使用 OS:Windows10 >


 時間部分("2:20"等)を"2:20"*1のようにしてはどうだろうか?
(ねむねむ) 2020/11/24(火) 17:32

 >=IF(D7="公休","",IF($D$2="土","2:20",IF($D$2="日","2:20","1:20")))

 "2:20"*1 のように変更したとして
 ・この式で祝日かどうかの判定ができるんですか?
 ・曜日だけで日付は入力してないんですか?

 以上、確認だけ
(笑) 2020/11/24(火) 17:42

”2:20”*1で反映されました!
無知で申し訳ないのですが、この「*1」にはどういう意味があるのですか??

(ちゃん) 2020/11/24(火) 17:52


・この式では祝日の判定ができないので
 祝日は手で入力しています。
 そんな多く祝日がないだろうということで...
・日付は別で入力しています。
 日付よりも曜日の方が関数が組みやすいとおもったので
 日付はあまり気にしていません。

(ちゃん) 2020/11/24(火) 17:55


 >この「*1」にはどういう意味があるのですか??
「1」を掛けてるだけですよ。

 単に "2:20" だけならこれは文字列。
 SUM は文字列を無視するので合計できません。
 その式がE7とE8に入っているとして =E7+E8 のようにすれば計算できます(数式による空白でなければ)
 つまり "2:20" のような文字列でも四則演算すれば計算できる。
 "2:20"*1
 元の値と変わらないように「1」を掛けて数値化(シリアル値化)しているということ。

 ■最初の質問に戻って・・・

 祝日の判定は不要なら、OR関数を使って土日は一つにまとめることができます
 =IF(D7="公休","",IF(OR($D$2="土",$D$2="日"),"2:20"*1,"1:20"*1))

 >日付は別で入力しています。
 日付がC2セルだとすれば
 =IF(D7="公休","",IF(WEEKDAY($C$2,2)>5,"2:20"*1,"1:20"*1))
 でも

 どこかに祝日の日付を入力しておけば、祝日の判定も数式で可能ですが
 それはもういいですか?

 以上
(笑) 2020/11/24(火) 19:30

 ついでに言っておくと・・・

 C2セルが日付だとして
 D2セルに ↓ の式を入れておけば曜日は自動的に表示されます。

 =TEXT(C2,"aaa;;")

 参考まで
(笑) 2020/11/24(火) 22:27

コメント返信:

[ 一覧(最新更新順) ]


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