dポイントプレゼントキャンペーン実施中!

MSエクセルのif関数にて

業務で、エクセルのifを使った関数を利用し処理しようと思っています。

K列にαまたはβが入力されており、
L列に日付が"2008-06-07"という形で入力されているデータ群があります。

そこで、処理したい内容は以下です。
・もし、K=αなら、L列の日付に1年プラスしてM列に入力 例)2008-06-07 → 2009-06-07
・K=βなら、L列の日付に2年プラスしてM列に入力 例)2008-06-07 → 2010-06-07

このようにif関数を作るには、M列にどのような値を入力したら良いでしょうか。
ご存知の方、ご教示下さい。宜しくお願い致します。

A 回答 (4件)

70行目の場合こんな感じです。


=IF(K70="α",DATE(YEAR(L70)+1,MONTH(L70),DAY(L70)),IF(K70="β",DATE(YEAR(L70)+2,MONTH(L70),DAY(L70)),""))
これでいかがでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
完全に欲しい情報と一致しました。
助かりました。

お礼日時:2010/07/05 16:30

必ずαかβが入力され例外が無いとすれば、αでない=βであるなの


で、M1: =date(year(L1)+if(K1="α",1,2),month(L1),day(L1))で大
丈夫なわけですが、K列やL列が未入力である行で変な日付が出ても
泣かないで下さい。見た目を気にする人はそういう場合も考えて数
式を作ります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
現状はα、βのみですが、今後のことも考え、上の方のように書くようにしました。

お礼日時:2010/07/05 16:29

因みに。



>K列にαまたはβが入力されており

それは「Kがαでないなら、必ずβである」って事と同じ。

従って、Kがαかどうか調べれば、Kがβかどうか調べる必要はないので

もしK=αなら、1年足す。
さもなければ、2年足す。

で充分。

Kがαではないなら、Kがβである事を判断する必要は無い。

従って、if関数は
=if(K=α,1年足す式,2年足す式)
になる。
    • good
    • 0
この回答へのお礼

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

お礼日時:2010/07/05 16:31

>このようにif関数を作るには、M列にどのような値を入力したら良いでしょうか。



そのようなif関数は書けません。

何故なら「kがαでもβでもない時」の値が定義されていないからです。

コンピューターのプログラムってのは「すべての場合を記述」しなければなりません。

つまり

もしKがαの時、1年プラスする。
さもなくば(Kがαでない時)、以下
  もしKがβの時、2年プラスする。
  さもなくば(Kがβでない時)、何するか判らない。
の処理をする。

と言う事ですから「何するか判らない」と言う処理は書けません。

M列に書く式は
=if(K=α,1年足す式,if(K=β,2年足す式,?????))
となりますが「?????」に「どっちでもない時の式」を書かないとならず、それが決まってないと「if関数が書けない」です。
    • good
    • 0
この回答へのお礼

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

補足させて頂きます。
K列にはαかβのいずれかが入力されておりますので、ブランクはありません。

宜しくお願い致します。

お礼日時:2010/07/05 15:59

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