• ベストアンサー

エクセル関数について教えてください。

エクセル関数について教えてください。 例えば、ROUNDDOWN関数で(A1,0)と組んだとして、A1が未入力だった場合には VALUE!と表示されますが、0:00と表示させることは出来ますか? 一応、IFと組み合わせようとしましたが、関数の組み合わせがおかしいというメッセージが表示 されて分かりません。 IFだけを複数組み合わせるのはやった事ありますが、別々の関数を組み合わせる事に関しての知識が なく、困っています。 どんな些細なことでも結構ですので、教えてください。 よろしく御願いします。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 「0:00」と表示させるのは、A1に何も入力されていない場合のみで良いのでしょうか。  A1に文字が入力されていたり、A1がエラーである場合には、どのような表示にされたいのでしょうか。  例えば =IF(ISNUMBER(A1),ROUNDDOWN(A1,0),"0:00") という式ならば、A1に数値(0を含む)が入力されている場合には、その数値の小数点以下を切り捨てた値を表示します。  そして、A1に何も入力されていない場合と、文字やスペースが入力されている場合、それとA1がエラーである場合には、「0:00」が表示されます。  式の中に ISNUMBER(A1) という部分がありますが、これは、ISNUMBER関数と言って、( )の中に数値データが入力されているのか否かを判定する関数です。  この場合には、A1セルの中に数値が入力されている場合には、判定はTRUE[正しい]となり、IF関数の[真の場合]が表示され、それ以外の場合には判定はFALSE[誤り]となり、[偽の場合]が表示されます。  同様に、他の回答者の方々の数式にある ISBLANK(A1) という部分は、ISBLANK関数と言って、( )の中に指定されているセル等に、何もデータが入力されていないのか否かを判定する関数です。  この時注意が必要なのは、A1には何も入力されていないように見える場合であっても、実際にはスペース(空欄)が入力されている場合もあります。  スペースが入力されている事と、何も入力されていない事は、同じではありません。  スペースが入力されている場合には、 ISBLANK(A1) の判定はFALSE[偽]となりますし、数値以外のデータが入力されているのですから、 ROUNDDOWN(A1,0) は計算する事が出来ないため、エラー値#VALUE!が表示されます。  尚、「0:00」を表示させるのではなく、何も表示しないようにするのであれば、数式の中の"0:00"の部分を、""に換えれば良いです。(これは、他の回答者の方々の数式に関しても同様です)

その他の回答 (5)

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

例えばB1セルに=ROUNDDOWN(A1,0)と入力してから、B1セルを右クリックして「セルの書式設定」から「表示形式」タブで分類に「ユーザー定義」を選び、種類の窓に h:mmと入力することで、A1セルが空のときはB1セルには0:00が表示されます。 しかし、A1セルにどんな数値を入力してB1セルにその値を表示させるのでしょう。A1セルに例えば23:45:15(23時45分15秒の意味です)と入力してもB1セルの表示は0:00のままです。 A1セルに時刻や日付を入力してもB1セルの表示は0:00のままですね。その原因はA1セルに入力した時刻や日付はシリアル値としてパソコンでは扱われます。24時間以内の時刻は小数点以下の数値となり、1日以上の日付は整数となります。ところでそのような値をROUNDDOWN(A1,0)で整数部分だけのシリアル値に変換していることになります。そこでセルの表示形式で時:分のような表示に使用とすれば小数点以下の数値はない状態のシリアル値ですから0、すなわちセルの表示は0:00のままです。 時間を扱っている中でROUNDDOWNで整数部分だけにすることは日にちの計算では使うこともあるでしょうが、一般には無意味なことですね。

  • srxmk3pro
  • ベストアンサー率53% (527/980)
回答No.4

ROUNDDOWN関数でエラー値#VALUE!が返されるのは対象が文字列の場合です。 本当にA1は未入力なのでしょうか? 本当に未入力なら「0」がかえって来るような気がします。 本当にブランクなら =IF(ISBLANK(A1)=TRUE,"0:00",ROUNDDOWN(A1,0))

  • tadagenji
  • ベストアンサー率23% (508/2193)
回答No.3

=ROUNDDOWN(A1,0) の式は循環式になり、A1にはエラーで入らないでしょう。 B1に式として入れてA1が空白ならばというのなら、 =IF(A1="","0:00",ROUNDDOWN(A1,0)) で可能です。

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

例えば次のような式にします。 =IF(A1="","",ROUNDDOWN(A1,0)

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.1

=IF(ISBLANK(A1),"0:00",ROUNDDOWN(A1,0)) A1が空欄なら「0:00」を表示し、そうでなければA1切り捨て。 「0:00」が書式で時間として表示しているなら、「"0:00"」→「0」でもいいですね。

関連するQ&A