- 締切済み
添付した左の列は、TODAY関数を使った右列の日時からの日数です。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
>小数点以下の切捨ては、書式設定の表示形式では対応できなく、 >条件式で改めて列を設けないといけなくなるはずです。 改めて列を設ける必要はありません。 単純に「=INT(C6)-TODAY()」のように数式を変更するだけです。 >関数を使わない小数点以下の切捨て方法があれば教えてください。 実際にセルに入力されている数字はそのままですが、表示だけ切り捨て表示に変えたいなら以下のような設定をします。 セルの書式設定の表示形式タブでユーザー定義にして「0.0000」と入力し、最初の「0」と「.」の間にカーソルを移動し、Ctrlキーを押しながらJキーを押して、最後に配置タブで「折り返して全体を表示する」のチェックを入れます。
- MackyNo1
- ベストアンサー率53% (1521/2850)
>右の列はB列で =C6-TODAY() 左の列はC列で =H6+D6 という関数が入っています。 左と右が逆ですよね。 >H列は日付なのですが、D列は 簡単に言えば小数点以下の数字のデータの です。D列の書式形式は、標準にしてあるのですが実際は計算式から吐き出した 数字なので小数点以下のデータがあります。 これが原因でしょうか? 基本的に、表示形式が違っても「8月16日、17日が、今日からの日数がどちらも10日になってしまいます」ということはありません(0より大きいが抽出されることはありますが)。 セルにエラーチェックのマーカーが表示されていますが、セルを選択してエラーチェックオプションのマーカーをクリックすると、どのようなメッセージが出るのか確認してください。
- MackyNo1
- ベストアンサー率53% (1521/2850)
>8月16日、17日が、今日からの日数がどちらも10日になってしまいます。 そもそもオートフィルタの問題ではなく、数式自体に問題があるようです。 それぞれの列に実際に入力されている数式をコピー貼り付けして具体的に提示してみてください。
補足
分かりつらくてすみません。 右の列はB列で =C6-TODAY() 左の列はC列で =H6+D6 という関数が入っています。 これでは、よく分からないとおもいますが H列は日付なのですが、D列は 簡単に言えば小数点以下の数字のデータの です。D列の書式形式は、標準にしてあるのですが実際は計算式から吐き出した 数字なので小数点以下のデータがあります。 これが原因でしょうか? 表示形式がたとえ標準でも、D列のデータを使う条件式の入ったC列は、小数点以下 のデータも加えて計算してしまう・・・・。 解決策ありますか? 教えてください。
- aokii
- ベストアンサー率23% (5210/22062)
時間も指定しては。
補足
確かに逆でした。 いろいろデータを入れてみて試したのですが やはり、小数点以下のデータを日付表示にすると切り下げなのに 今日までの日数表示は、四捨五入されているせいで質問のようになることが 試してみてわかりました。 シリアル値で小数点以下のデータは切り捨てになるのに対し 通常の数値表示では、小数点以下のデータの設定を0にすると 四捨五入される。 シリアル値 40334.89655 = 平成22年6月5日 →.89655は、切捨てられる 平成22年6月5日から今日までの日数 40398-40334.89655=63.10335 この場合四捨五入すると切捨て対象でいいのですが 四捨五入で切り上がる場合に質問のようなことになるのが分かりました。 左の列を四捨五入でなく切り捨てで表示できればいいのですが 小数点以下の切捨ては、書式設定の表示形式では対応できなく、条件式で 改めて列を設けないといけなくなるはずです。 関数を使わない小数点以下の切捨て方法があれば教えてください。 ※なおエラーマーカーは、問題ないエラーです。 この違いにあるみたいです。 勝手に解釈しているのですが、間違っていますか? 具体的な表を提示できなくて大変申し訳ないです。