MSエクセルのif関数で処理する方法

このQ&Aのポイント
  • 業務で、エクセルのif関数を利用し処理する方法についてまとめました。K列にαまたはβが入力されており、L列に日付が入力されているデータ群があります。if関数を使って、Kの値に応じてL列の日付に1年または2年を足した値をM列に入力する方法を教えてください。
  • エクセルのif関数を使って、K列の値によってL列の日付に1年または2年を足した値をM列に入力する方法について教えてください。K列にはαまたはβという値が入力されており、L列には日付が入力されています。
  • MSエクセルのif関数を使って、K列の値に応じてL列の日付に1年または2年を足した値をM列に入力する方法を教えてください。K列にはαまたはβという値が入力されており、L列には日付が入力されています。処理の方法を詳しく教えてください。
回答を見る
  • ベストアンサー

MSエクセルのif関数にて

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列にどのような値を入力したら良いでしょうか。 ご存知の方、ご教示下さい。宜しくお願い致します。

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

  • ベストアンサー
  • uun373
  • ベストアンサー率48% (21/43)
回答No.4

70行目の場合こんな感じです。 =IF(K70="α",DATE(YEAR(L70)+1,MONTH(L70),DAY(L70)),IF(K70="β",DATE(YEAR(L70)+2,MONTH(L70),DAY(L70)),"")) これでいかがでしょうか。

zalera
質問者

お礼

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

その他の回答 (3)

回答No.3

必ずαかβが入力され例外が無いとすれば、αでない=βであるなの で、M1: =date(year(L1)+if(K1="α",1,2),month(L1),day(L1))で大 丈夫なわけですが、K列やL列が未入力である行で変な日付が出ても 泣かないで下さい。見た目を気にする人はそういう場合も考えて数 式を作ります。

zalera
質問者

お礼

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

  • chie65535
  • ベストアンサー率43% (8519/19367)
回答No.2

因みに。 >K列にαまたはβが入力されており それは「Kがαでないなら、必ずβである」って事と同じ。 従って、Kがαかどうか調べれば、Kがβかどうか調べる必要はないので もしK=αなら、1年足す。 さもなければ、2年足す。 で充分。 Kがαではないなら、Kがβである事を判断する必要は無い。 従って、if関数は =if(K=α,1年足す式,2年足す式) になる。

zalera
質問者

お礼

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

  • chie65535
  • ベストアンサー率43% (8519/19367)
回答No.1

>このようにif関数を作るには、M列にどのような値を入力したら良いでしょうか。 そのようなif関数は書けません。 何故なら「kがαでもβでもない時」の値が定義されていないからです。 コンピューターのプログラムってのは「すべての場合を記述」しなければなりません。 つまり もしKがαの時、1年プラスする。 さもなくば(Kがαでない時)、以下   もしKがβの時、2年プラスする。   さもなくば(Kがβでない時)、何するか判らない。 の処理をする。 と言う事ですから「何するか判らない」と言う処理は書けません。 M列に書く式は =if(K=α,1年足す式,if(K=β,2年足す式,?????)) となりますが「?????」に「どっちでもない時の式」を書かないとならず、それが決まってないと「if関数が書けない」です。

zalera
質問者

お礼

ご回答ありがとうございます。 補足させて頂きます。 K列にはαかβのいずれかが入力されておりますので、ブランクはありません。 宜しくお願い致します。

関連するQ&A

  • EXCEL IF関数

    M列に日付が入力されています。 K列には内or外と入力されています。 L列には K列が"内"であればM列の3日前 K列が"外"であればM列の7日前 の日付を返す。という式を入力したいのですが、 例 セルM1 "9/10"  セルK1 "内"  セルL1 "9/7" 宜しくお願いします。

  • EXCELのIF関数の入れ子について

    すみませんよろしくお願いします。 EXCELでセル(A1)~(L1)までに不特定の文字列が入力されており、(M1)に「もし(L1)が入力されていたら(L1)の値を表示、もし(L1)がブランクなら(K1)の値を表示、もし(K1)がブランクなら(J1)の値を表示、もし(J1)がブランクなら(I1)の値を表示・・・・」といった具合で関数を作成したいのです。また、(A1)~(L1)のセルで穴あき状態で入力されていた場合は最も(L1)寄りのセルを表示させたいです。 EXCEL2003のIF関数だと、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="","",E2),F2),G2),H2),I2),J2),K2),L2) で最後の(A1)までの入れ子を作ることができせん。 EXCEL2007を使用すると、 =IF(L2="",IF(K2="",IF(J2="",IF(I2="",IF(H2="",IF(G2="",IF(F2="",IF(E2="",IF(D2="",IF(C2="",IF(B2="",IF(A2="","",A2),B2),C2),D2),E2),F2),G2),H2),I2),J2),K2),L2) と作成できます。 EXCEL2003で作成するいい方法はありますでしょうか? ご指南の程よろしくお願いします。

  • IF関数と並べ替え

    エクセル2000です。 =IF(M2=M3,"○","×") =IF(M3=M4,"○","×") =IF(M4=M5,"○","×") =IF(M4=M5,"○","×") IF関数をつかってある列に上のような式を入れています。 で、そのままその列を並べ替えしても○と×で並べ替えすることはできないと思うのですがこれを可能にする方法を教えてください。形式を選択して値貼付けをして並べ替えるという方法はしっているのですが、できれば関数で処理したいと思っています。どなかたご教授ください。

  • エクセルの関数で日付を管理したい

    エクセルの関数で日付をできるだけ自動で入れたく、たとえばL18に以下の式を入れます。 K列に値が入ると、L17に1/1を入れておくと、L18に1/2が自動で入ります。 =IF(K18="","",MAX($L$17:L17)+N18) N18にはリスト選択で通常は1を入れておき、オートフィルでK列に値が 順番に入ると、1日づつきちんと日付が入ります。 M列には以下の式が入り、曜日が入ります。 =IF(K18="","",TEXT(L18,"(aaa)")) この式を応用してたとえば、土曜、または土日を自動で飛ばしたいのですが、 やり方が分かりません。 どなたかご教授いただけませんでしょうか。

  • エクセルIF関数について

    エクセルのIF関数で質問です。 ある範囲の中に指定した文字が入っていた場合●を表示させる。 という式の作り方をお教え下さい。 具体例 Book1のA1に日付が入っています。 Book2のC列にBook1のA1と同じ日付が入っている場合 Book1のB1に●を表示させたい。 宜しくお願いいたします。

  • エクセルとIF関数について

    エクセル初心者です。 今、下の画像上段のような、データ(シート1)をエクセル2007で作成しました。 売上と販売形式、場所、そして報告形式があります。 今、シート2のAからC列に販売形式、売上場所、売上金額を 手入力で入れてみました。 ここでしたい処理ですが、IF関数を使って、シート2の4列目に自動的に報告形式が 表示される数式を作りたいのです。 単純なIF関数はわかるのですが、この場合、AND関数をどうやってつくっていいか わかりませんでした。 教えてください。お願いします。

  • エクセル IF関数?!

    エクセル初心者です。関数の使い方を教えてください。 B2列に「男」と「女」を入力してあります。 D2列には「出席」「欠席」が入力してあります。 っで、欠席者を数えるのはCOUNTIF(B2:B30,”欠席”)なのかな と思うのですが、男の子の欠席を数えるのは、どうすればいいのでしょうか? IF関数と組み合わせるのでしょうか? それとも他にいい関数がありますか? 

  • エクセル関数(IF)についてお願いします。

    おはようございます。 エクセル関数(IF)についてご指導願います。 早速ですが、質問です!! E列に「○」「×」のどちらかの記号を入力しするようになっています。 そこで、E列が「○」の場合・・・C列の名前を「太字」記載。      E列が「×」の場合・・・C列の名前は「標準」記載。 にする場合、どの様なIF関数を組めば宜しいでしょうか? 宜しくお願い致します。

  • IF関数? エクセルでこんなことをしたいです。

    エクセルで、例えばA列にたくさんの品物の品番が入力されているとします。 B列に、A列の品番が「V」で始まっていたら「1」、「Z」で始まっていたら「2」・・・というように条件をつけてIF関数を設定したいのですが、IF関数は、「○○で始まったら□□」という設定はできないのでしたか? できないとしたら、他に方法はないでしょうか。 パソコンは苦手な人から聞かれているので、難しくない方法がいいのですが・・・。 よろしくお願いします。

  • エクセル2007 IF関数について教えてください

    お世話になります。 どうしてもIF関数がうまくできず困りはてています。 下記のような項目を含むデータを2万件くらい抽出しています。 A列     B列  C列      D列 E列 状況    拒否理由       注文数   確認数 (1) 在庫不足   入力ミス  1     0 → キャンセル (2) 在庫不足       1      0 → 未処理 (3)                 5        0 → 未処理 (4)                 1       1 → 処理済 (5)   お客様キャンセル      10    0     →     キャンセル 未処理の件数を管理したいのですが、キャンセル扱いとなる条件を除く IF関数をうまく作成できません。 =IF(AND(D2>0,E5>0),"完了","未処理") といったように1個の条件についてはなんとかできるのですが、 B列が空欄or文字の入力有、C列が空欄、E列が0の数字の場合、D列の 数字を表示しなさい、といったようにまとめて、条件式をつくることができません。 何個かつなげると、TRUE、FALSEと表示され指定する列の(この場合D列)数字が表示 できません。 IF関数でなくてもよいのですが、未処理(キャンセル扱い除く)条件のみの数字を表示させる 方法をご教示お願いいたします。