『時間の計算・合計時間の算出がしたいです』(take9954) Excel2003・WindowsXP 勤怠表を作成しています。 B41 名前を手入力 C41 決められたシフト記号を手入力 D41 「=VLOOKUP($C41, シフト記号!$A$1:$B$31,2, FALSE)」 (出勤時間) E41 「=VLOOKUP($C41, シフト記号!$A$1:$C$31,3, FALSE)」 (退勤時間) F41 「=VLOOKUP($C41, シフト記号!$A$1:$D$31,4, FALSE)」 (休憩時間) G41 「=SUM(E41-D41-F41)」(実働時間) シフト記号というシートに記号の内訳(例:A 出勤 7:00 退勤 16:00 休憩 1:00)の表を入力してあります。 上記の様にしていて、G列の実働時間合計を算出したいのですが、例えば C48 にシフト記号を入力しない場合、D48〜G48は「#N/A」となります。G列の一番下のG50に実働時間合計を求めるのに「=SUM(G41:G49)」とすると「#N/A」が含まれてしまい、G50の値が「#N/A」になってしまいます。「#N/A」を含めずにうまく実働時間合計を求める方法をどなたか教えて下さい。 ---- <<「#N/A」を含めずにうまく実働時間合計を求める...... 「#N/Aを含めずに」というよりも、ISNA関数とかIF関数等を 組み合わせて#N/Aを表示させないようにさせるのが先決かと。 (SS) ---- (SS)さん、了解です。 が、初心者なので具体的な数式を教えていただきたいのですが、よろしいでしょうか? (TAKE9954) ---- こんばんは〜♪ SSさんが、いらしゃらないようですので。。。 SSさんの代理ですが。。。 たとえば >D41 「=VLOOKUP($C41, シフト記号!$A$1:$B$31,2, FALSE)」 (出勤時間) を =IF(COUNTIF(シフト記号!$A$1:$A$31,$C41),VLOOKUP($C41, シフト記号!$A$1:$B$31,2, FALSE),"") とか =IF(ISNA(VLOOKUP($C41, シフト記号!$A$1:$B$31,2, FALSE)),"",VLOOKUP($C41, シフト記号!$A$1:$B$31,2, FALSE)) に、してみてはいかがでしょうか。。。? ご参考にどうぞ。。。。。 。。。。Ms.Rin〜♪♪ ---- 空白セルを=$C41 などと参照すると、結果が「0」になりますよね。これと同じで Vlookup関数で空白セルを検索値としてセル参照させると「0」を検索範囲から探そうと するので検索値が見つからなくなります。これを逆用して、 検索する範囲(リスト)の先頭列に「0」、表示したいフィールドに「0」やスペース、=""など を追加入力しておいて、あえて「0」や「見えない文字」を検索させる方法もあります。 検索結果のSUM関数での集計なら計算除外されると思いますよ。 あ、でも文字列では =SUM(E41-D41-F41) ではVALUEエラーになりますね。(この式では単に=E41-D41-F41の計算と変わりません)   =SUM(E41)-SUM(D41)-SUM(F41)   (みやほりん)(-_∂)b ---- 皆様、ありがとうございます。 無事に思い通りの物が完成しました。(take9954)