• ベストアンサー

エクセルの関数表示!

関数で時間を入力しないと♯♯♯と表示されてしまうのですがこれを入力しない時は無表示にする方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

解答No4です。 次のような式にすればよいでしょう。 =IF(OR(B1="",C1=""),"",(INT((C1-100)/100)*60+MOD((C1-100),100)-(INT(B1/100)*60+MOD(B1,100)))/1440)

te-qn
質問者

お礼

KURUMITOさんの方法で作りました。 有り難うございました。

その他の回答 (5)

  • Us-Timoo
  • ベストアンサー率25% (914/3620)
回答No.6

例えば、出勤時間を入力しなければ表示しないのであれば =IF(B2="","",(INT((C2-100)/100)*60+MOD((C2-100),100)-(INT(B2/100)*60+MOD(B2,100)))/1440) で出勤時間を入力しなければセルは表示になります。 また、出勤時間と退勤時間の両方を入れないと 表示しないようにする場合は =IF((AND(B2="",C2="")),"",(INT((C2-100)/100)*60+MOD((C2-100),100)-(INT(B2/100)*60+MOD(B2,100)))/1440) また、入力ミスを防ぐ意味で、出勤時間・退勤時間のどちらかが 入力されていない場合、表示しない場合は =IF((OR(B2="",C2="")),"",(INT((C2-100)/100)*60+MOD((C2-100),100)-(INT(B2/100)*60+MOD(B2,100)))/1440) となります。 ちなみに、ここに示しました計算式は ご提示された計算式自体をいじる関数ではなく IF関数とAND関数・OR関数を組み合わせて、出勤/退勤時間の セル内容の条件によって表示させない状態にしているだけなので ご提示された計算式自体に誤りがあれば、数値が入力された場合 今回のような表示エラーは出てくることがあります。 これでよければお試しください。

te-qn
質問者

お礼

凄く丁寧な回答有り難うございました。=IF((OR(B2="",C2="")),"",(INT((C2-100)/100)*60+MOD((C2-100),100)-(INT(B2/100)*60+MOD(B2,100)))/1440)が一番自分にあってました。 有り難うございました。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

A1セルが空でB1セルに12:00が入力されているとします。そこで,C1セルに=A1-B1と式が入力されている場合には答えがマイナスになりますので時刻の場合には####と表示されてしまいますね。 この場合にそれを避けるためには通常はC1セルへの入力の式を次のようにします。 =IF(A1<B1,"",A1-B1) これでA1セルが空の場合にはC1セルは空になります。

te-qn
質問者

補足

回答有り難うございます。 ちなみに関数式ですが・・・ (例)  =(INT((C1-100)/100)*60+MOD((C1-100),100)-(INT(B1/100)*60+MOD(B1,100)))/1440 Bの行は出勤時間、Cの行は退社時間で各BとCの行の所にそれぞれ1日~31日の出社、退社時間を記入するとEの行に休憩60分を引いた実働時間が上記の関数式の計算で表示されるようにしたのですが、休みの日はBとCの行は空欄にすると♯♯♯♯♯♯♯と表示されるのを何とか無表示に出来ないかと思っています。 宜しくお願い致します。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! もし解釈が間違っていたらごめんなさい。 ### と表示されるというのは単にエラーではなく 例えば、時間の計算結果上でのことですかね? 万一、エラーであるならばすでに回答は出ていますので 他の方の方法で解決できると思います。 たぶん時間の場合、空白だと「0」と認識されるので、### と表示されないような気がします。 計算結果がマイナスになった場合に「###」と#ばかり並ぶことがあります。 もしそうであるならば、 メニュー → ツール → オプション → 「計算方法」タブの中の 「1904年から計算する」にチェックを入れてみてください。 これでマイナス結果も表示されると思います。 以上、当方使用のExcel2003での回答でした。 尚、大きく外している可能性もありますので、 その場合はごめんなさいね。m(__)m

te-qn
質問者

補足

回答有り難うございます。 ちなみに関数式ですが・・・ (例)  =(INT((C1-100)/100)*60+MOD((C1-100),100)-(INT(B1/100)*60+MOD(B1,100)))/1440 Bの行は出勤時間、Cの行は退社時間で各BとCの行の所にそれぞれ1日~31日の出社、退社時間を記入するとEの行に休憩60分を引いた実働時間が上記の関数式の計算で表示されるようにしたのですが、休みの日はBとCの行は空欄にすると♯♯♯♯♯♯♯と表示されるのを何とか無表示に出来ないかと思っています。 宜しくお願い致します。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

>♯♯♯と表示されてしまうのですがこれを・・ セルに表示しようとして、セル幅が十分で無いとき出る表示ではないのかな。セル幅を広げれば出なくなるのでは。 では無くて何かエラー(下記記事参照。#xxxx!のような形)が出る場合はどれが出ますか。 http://www.relief.jp/itnote/archives/000012.php どんな式を入れていますか。関数式の質問なので、これを質問に書くのは常識。 ーー Googleなどで「エクセル 関数 エラー 回避」 「エクセル 関数 エラー 空白」などで照会すればたくさん解説が出る。 http://oshiete1.goo.ne.jp/qa1921116.html など。

te-qn
質問者

補足

回答有り難うございます。 ちなみに関数式ですが・・・ (例)  =(INT((C1-100)/100)*60+MOD((C1-100),100)-(INT(B1/100)*60+MOD(B1,100)))/1440 Bの行は出勤時間、Cの行は退社時間で各BとCの行の所にそれぞれ1日~31日の出社、退社時間を記入するとEの行に休憩60分を引いた実働時間が上記の関数式の計算で表示されるようにしたのですが、休みの日はBとCの行は空欄にすると♯♯♯♯♯♯♯と表示されるのを何とか無表示に出来ないかと思っています。 宜しくお願い致します。

  • Us-Timoo
  • ベストアンサー率25% (914/3620)
回答No.1

計算式の入っているセルに =IF(【時間が入力されているセル番号】="","",【時間を計算する式】) ※【】のなかは該当するものに置き換えてください と入力しでください。

te-qn
質問者

補足

回答有り難うございます。 ちなみに関数式ですが・・・ (例)  =(INT((C1-100)/100)*60+MOD((C1-100),100)-(INT(B1/100)*60+MOD(B1,100)))/1440 Bの行は出勤時間、Cの行は退社時間で各BとCの行の所にそれぞれ1日~31日の出社、退社時間を記入するとEの行に休憩60分を引いた実働時間が上記の関数式の計算で表示されるようにしたのですが、休みの日はBとCの行は空欄にすると♯♯♯♯♯♯♯と表示されるのを何とか無表示に出来ないかと思っています。 宜しくお願い致します。

関連するQ&A