アプリ版:「スタンプのみでお礼する」機能のリリースについて

関数苦手ですが便利なので活用したいので
すみませんが宜しくお願いします。

=IF(I3<>0,I3,DAY(TODAY()-1))

訳すとどういうことでしょうか?

A 回答 (5件)

IF関数は次のように定義します。


=IF(論理式,Yesのときの処理,Noのときの処理)
提示の数式で論理式は I3<>0 ですからI3セルの値が0でないときがYesのときの処理でI3の値を適用し、I3が0または未入力(セルに何も入力されていないときは0と判断される)のときはDAY関数の結果を適用されます。
DAY関数は次のように定義します。
=DAY(日付の値(年/月/日)から日の数値のみ取り出します。
提示の数式でDAY関数の日付はTODAY関数の値から1を減じた値です。
TODAY関数では参照する値がありませんので括弧内は何も記載しません。
TODAY関数は今日の日付を返しますが、その値はPCの内臓時計から取り込んでいます。
=TODAY()-1 の結果は昨日の日付になります。
    • good
    • 0

こんにちは


#4への補足です。
 書き忘れてしまいましたが、エクセルが表現出来る日付の限界は「9999/12/31」と決まっています。
 数値で表すと2,958,465です。
 エクセル自体はもっと大きな数値を扱えるのですが、きっと「今のところ西暦9999年まであれば十分でしょ」ということなのでしょう(^^;
    • good
    • 0

こんにちは


#2の補足への回答です。横入りでごめんなさいm(^_^;m

>もし、昨日の日付が31日のときで
>今日の日付が1日だとすると、
>どうなってしまうのでしょうか?
 なるほど、確かに疑問がわきますよね。月が変わっているのに1日減じて正しいのか?
 それを考えるには、まず基本的にコンピューターが扱うあらゆるデータは2進数という数値だけなので、その数値に対して実際に利用する上で考えやすいように用途別に「型」付けを行なっていることを知らないと。

 質問者さんの疑問は「日付型」という2進数の型のことなのです。

 例えばセルに数値「0」を入れてセル書式を標準型から日付型に変更すると…
 「1900/1/0」とあり得ない日付が出てきますけれど、この日から数値で1増えるごとに日付が連続的に進んでいるのです(マイクロソフトでは、この日付型数値のことをシリアル値と呼んでいるようです)。

 質問の回答ですが「2014/9/1」を日付型から数値型に戻すと「41,883」になります。
 そこから1を減じて「41,882」にした上で日付型に戻してやると…
 あ~ら不思議でもなんでもなく「2014/08/31」と一日前に戻ります。
 日付は天文学の進歩により「計算で求めることが出来る」ようになったのでこんな仕組みが考えられたのですね(^^)v
P.S.
 どんな計算式で日付を求めるのかは下記のURLを参照してくださいm(__)m
★グレゴリオ暦
http://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AC% …
    • good
    • 0
この回答へのお礼

ありがとうございます。
とても分かりやすいです。

お礼日時:2014/09/07 10:01

I3がゼロと等しくなければI3


そうでないとき(ゼロと等しいとき)は「昨日の日付」を計算する


#昨日の日付は、今日の日付-1とは違います。

この回答への補足

もし、昨日の日付が31日のときで
今日の日付が1日だとすると、
どうなってしまうのでしょうか?
ピンと来てなくてすみません。
宜しくお願いします。

補足日時:2014/09/07 07:33
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2014/09/07 07:28

こんばんは!



素直に・・・
もしI3セルが0以外であれば(空白以外であれば)、I3セルのデータをそのまま返す。
そうでない場合(I3セルが0の場合=空白の場合)は
今日の日付「6」から1を引いた値すなわち「5」を返す。

といった関数です。m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2014/09/07 07:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!