• ベストアンサー

IF関数について 教えてください。

特定の日付だけ、計算式を変えたいのです。 例えば、5日、15日、25日だけ5倍にする。 素人でもわかる解説お願いします。

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9674)
回答No.1

その5倍にしたい日付というのは、『年月日の日を、10で割ったときに、余りが5となる日』とまとめられますね。 別のセルにたぶん年月日が入っているんだと思いますが、そこから 日 だけを取り出すには、DAY()関数を使います。 「指定値で割った余り」を求める関数は、MOD()です。MOD(検査値, 割る値)とすると、余りが出てきます。 従って、IF文 ( IF(条件、真の時の式、偽の時の式) )で使うためには、 =IF( MOD(DAY(日時セル), 10)=5, (真の時の式)、(偽の時の式) ) ↓ =IF( MOD(DAY(日時セル), 10)=5, (値のセル*5)、(値のセル) ) こんな風になります。 ---- でももし、そのように1つの関数式で表せないような条件だったならば。 「どれかに合致する場合」ということで、OR() 関数を使います。 例えば1日・10日・25日に、5倍にしたい場合。 =IF(OR(DAY(日時セル)=1, DAY(日時セル)=10, DAY(日時セル)=25), (値のセル*5), (値のセル) ) こんなふうに書けます。

その他の回答 (3)

回答No.4

_1_1 _5_5 10_1 15_5 20_1 25_5 30_1 A列に1,5,・・・30と入力されている場合に5,15,25の場合だけB列に5と表示。それ以外のケースでは1と表示。この時のB列の式は、 =1+ABS(MOD(A1,10)=5)*4 if MOD(A1,10) の値が 5 であれば 1+4 で5倍の計算を行う。 if MOD(A1,10) の値が 5 でない時 1+0 で1倍の計算を行う。 これも一種のIF計算かと・・・。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

1.どこかのセルで「=ある計算式」を計算しているのを 2.たとえば「今日」が5のつく日だったら5倍、「そうでない日は」1倍(=変えない)する。 =ある計算式*IF(RIGHT(DAY(TODAY()))="5",5,1)

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.2

前提条件 A1に判定する日付が入力される。 B1に掛けられる数値がはいる。 C1に特定の日付だけ5倍にし他は1倍(B1の数値)が入る計算式です。 =IF(OR    (DAY(A1)=5,DAY(A1)=15,DAY(A1)=25)    ,B1*5,    B1)   ※見やすくするために改行しましたが本来は続けて入力します。 1行目はIfで始めます。Ifの構文は IF(条件,真の計算、偽の計算) 次のORは、何れかになる当てはまる時に真を返し、当てはまらない時に偽を返します)  構文は OR(条件1,条件2,条件3・・・・) です。 次のDAYは日付から日にちだけを返す関数です。  構文は DAY(日付) 纏めると、DAY関数で日を抜き出し、複数条件があるのでORで条件を列挙し、 IF文で特定日の時に×5、それ以外はそのままの数値にする。 偽(それ以外の時)を明示的に(B1*1)としても答えは同じです。