• ベストアンサー

=if(iserror(a1/timevalue("1:00"))) 何が間違ってますか?

すみません、教えてください。 仕事を87:10時間かけて終わらせました。 その処理件数は全部で350210件です。 1時間あたりの処理数を求めたいのです。 a1には総件数が入っています。350210件です。 b1には掛かった時間の87:10 c1に1時間あたりの処理数を出したいのです。 それで =if(iserror(a1/timevalue("1:00"))) こんな式をたててみましたがエラーでした(^^;; どこに?時間を入れていいのか???? この式を使う方法で(ただの割り算じゃなく)うまくいくには何が足りないか教えてください。 エクセル2000です。 よろしくお願いしますm(_ _)m

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

  • ベストアンサー
回答No.4

B1の時刻データの表示形式が何かですね どちらも一応、検証済みです。 ●時刻の場合【87:10:00と表示されているはず】 TIMEVALUEではシリアル値が取り出せない そのまま24を掛ければOK C1の表示形式が数値であること。 =A1/(B1*24)で出ます。 No.1回答者さんの方法です。 標準形式だとダメでした。 計算結果で小数点以下が必要なら、桁上げボタン押して対応して下さい。 ●文字列の場合【87:10と表示】 TIMEVALUEでシリアル値は取り出せるが、24時間以上の分は無視される。(日数は考慮されず時間のみ) で、ちょっと試してみました。 B1の所要時間は文字列とします。 C1の表示形式は数値を選択してください。 C1に次の式を入れてください =A1/(VALUE(DATEVALUE(B1)+TIMEVALUE(B1))*24) こちらは、あまり実用的でないかな・・・ 何書いてるんだか、自分でも分からなくなってきましたが 伝わりましたかね

noname#25390
質問者

お礼

回答を戴きましてありがとうございます。 はい伝わりました! 先の記載どおりにやりました。 後者は私にはむずかしくて… どうもありがとうございました たいへんわかりやすかったです。 わざわざ検証くださり感謝です。お世話様でした。m(_ _)m

その他の回答 (4)

  • NCU
  • ベストアンサー率10% (32/318)
回答No.5

> 1時間あたりの処理数を求めたいのです。 それがなぜ以下の式になるのでしょう? 本当は何をなさりたいのですか? =if(iserror(a1/timevalue("1:00")))

noname#25390
質問者

お礼

回答を戴きましてありがとうございます。 本当も何も一時間あたりの処理数をtimevlueを使って表示したかっただけなのです。 へんな質問をしてすみませんでした。

noname#204879
noname#204879
回答No.3

貴方の式の内容を出来るだけ活かすなら、次のようにすればよろしいかと。 C1: =A1/(B1/TIMEVALUE("1:00")) でも、Excel の性質(文字列の数字は四則演算に限れば数値として扱える)を利用するなら次の式でもOKなんです。 =A1/(B1/"1:00")

noname#25390
質問者

お礼

回答を戴きましてありがとうございます。 TIMEVALUE関数のヘルプをよんでみたのですが、結局シリアル値とかよくわからず。文字列の数字を使えるとのことなのでそのままシンプルに計算することにしました。 私はただ維持間あたりの件数をだしたかっただけなのですが、timevalueを使うように言われたのでなんでソレをつかうのか言った人もわからず私もわからずお聞きした次第です。もう一度整理します、わけのわからない質問をして申し訳ないです。 ありがとうございました。

  • poohron
  • ベストアンサー率59% (574/971)
回答No.2

=if(iserror(a1/timevalue("1:00"))) で発生したエラーは、if関数の書式エラーです。 if監視\数は、 if(論理式,論理式が真の場合,論理式が偽の場合)という書式です。 「偽の場合」は省略可能ですが、「真の場合」は省略不可です。 しかし、iserror(a1/timevalue("1:00"))は常に偽になりますよ。 (a1/timevalue("1:00")はa1の値に関わらず計算可能ですからエラーは発生せず、iserrorは必ず偽です。 …というか、何を計算しようとなさっているのか分かりません。 かかった時間B1が使われていませんから、1時間あたりの処理数は このままではどうやっても出てきませんよ。 ということでC1には =A1/B1/24  または  =A1/(B1*24) でお試しください。 (9999時間59分59秒までです。それを超えるとエラーになります)

noname#25390
質問者

お礼

回答を戴きましてありがとうございます。 >しかし、iserror(a1/timevalue("1:00"))は常に偽になりますよ。 (a1/timevalue("1:00")はa1の値に関わらず計算可能ですからエラーは発生せず、iserrorは必ず偽です。 計算できることが≪偽≫なのでしょうか? なんかイメージでは逆なのですが。 >…というか、何を計算しようとなさっているのか分かりません。 かかった時間B1が使われていませんから、1時間あたりの処理数は このままではどうやっても出てきませんよ。 すみません。 ということでC1には =A1/B1/24  または  =A1/(B1*24) でお試しください。 (9999時間59分59秒までです。それを超えるとエラーになります) ためしました。出ました。 私はただ維持間あたりの件数をだしたかっただけなのですが、timevalueを使うように言われたのでなんでソレをつかうのか言った人もわからず私もわからずお聞きした次第です。もう一度整理します、わけのわからない質問をして申し訳ないです。 ありがとうございました。

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

C1 の数式 =A1/(B1*24) で標準形式です。

noname#25390
質問者

お礼

回答を戴きましてありがとうございます。 まったく自分でも何がしたいのかよくわかっておらずすみません。 私も最初はそれでいいのかなと思ったのですが、timevueをつかってといわれたので困ってしまいました。 もう一度整理します。ありがとうございました。

関連するQ&A