• ベストアンサー

Excel関数教えてください

1.セルA1に平成15年12月31日の3ヵ月後の日付を表示 ⇒平成16年3月31日と表示させたい 2.セルB1に「平成○年○月○日」から平成17年12月28日までの年数を求める。ただし、「平成○年○月○日」から平成17年12月28日までが一年未満の場合は「○ヶ月」と表示し、一年以上なら「○年」と表示。 3.セルC1には、上記「2」で求めたものが一年未満であれば「0」とし、一年以下は「10」と表示。 以上、よろしくお願いします。

  • DT50
  • お礼率95% (504/530)

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

  • ベストアンサー
  • S-Fuji
  • ベストアンサー率36% (592/1624)
回答No.1

まず、表示のセルだけではなく、元の日付が入っているセルも意識して問題を考えましょう。 1.元の日付がA3に入っているとして、 A1=EDATE(A3,3) 2.平成○年○月○日がB3に、平成17年12月28日がB4に入っているとして B1=IF(DATEDIF(B3,B4,"Y"),DATEDIF(B3,B4,"Y")&"年",DATEDIF(B3,B4,"M")&"ヶ月") 3.一年未満であれば「0」とし、一年以下は「10」と表示 一年以上は「10」の間違いと仮定して C1=IF(DATEDIF(B3,B4,"Y"),10,0)

DT50
質問者

お礼

EDATEって関数があるんですね。失礼しました。

DT50
質問者

補足

ご回答ありがとうございます。 「1」のEDATEという関数が初耳です。間違いでしょうか?

関連するQ&A

  • excel関数について

    教えてください。 100~300 → A 300~500 → B 500~700 → C 700~900 → D (セル内の数値が、100以上、300未満の場合は『A』と表示させる) (セル内の数値が、300以上、500未満の場合は『B』と表示させる) (セル内の数値が、500以上、700未満の場合は『C』と表示させる) (セル内の数値が、700以上、900未満の場合は『D』と表示させる) 上記のようにしたいんですが、どの関数を使えばいいんでしょうか。

  • エクセル関数について

    エクセル関数を組みたいのですが、知識がありませんので、 以下、(0)~(9)の条件を統合させた勤続年数の関数を お教え頂けないでしょうか。 ※前提条件として、エクセル(Office2010)を使用しております。  尚、C3、C4セルの書式設定は、ユーザー定義で、  「yyyy(ggge)"年"m"月"」としております。 (ケース0) ※通常版  C3セルに「1993/2/1」、C4セルに「1994/2/28」と入力。  結果表示として、C3セルは「1993(平成5)年2月」、  C4セルは「1994(平成6)年2月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数「1年1ヵ月」と表示する関数 (ケース1) ※通常版  C3セルに「1993/2/1」、C4セルに「1997/4/30」と入力。  結果表示として、C3セルは「1993(平成5)年2月」、  C4セルは「1997(平成9)年4月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数「4年3ヵ月」と表示する関数 (ケース2)  C3セルに「2003/4/1」、C4セルに「2003/4/30」と入力。  結果表示として、C3セルは「2003(平成15)年4月」、  C4セルは「2003(平成15)年4月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数「1ヵ月」と表示する関数  決して、「0年1ヵ月」と表示はしない (ケース3)  C3セルに「2003/4/1」、C4セルに「2003/10/31」と入力。  結果表示として、C3セルは「2003(平成15)年4月」、  C4セルは「2003(平成15)年10月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数「7ヵ月」と表示する関数  決して、「0年7ヵ月」と表示はしない (ケース4)  C3セルに「2003/6/1」、C4セルに「2004/5/31」と入力。  結果表示として、C3セルは「2003(平成15)年6月」、  C4セルは「2004(平成16)年5月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数「1年0ヵ月」と表示する関数  決して、「0年12ヵ月」と表示はしない (ケース5)  C3セルに「2008/2/1」、C4セルに「2010/1/31」と入力。  結果表示として、C3セルは「2008(平成20)年2月」、  C4セルは「2010(平成22)年1月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数「2年0ヵ月」と表示する関数  決して、「1年12ヵ月」と表示はしない (ケース6)  C3セルは「空白」、C4セルに「2008/11/30」と入力。  結果表示として、C3セルは勿論、「空白表示」、  C4セルは「2008(平成20)年11月」と表示、  D3セル(D3セルとD4セルが結合)には、  勤続年数としては、何も表示しない(エラー表示含) (ケース7)  C3セルは「2008/12/1」と入力、C4セルに「空白」。  結果表示として、C3セルは「2008(平成20)年12月」、  C4には結果として、表示は勿論、「空白表示」、  D3セル(D3セルとD4セルが結合)には、  勤続年数としては、何も表示しない(エラー表示含) (ケース8)  C3セル、C4セル共に「空白」。  結果表示として、C3セル、C4には勿論、「空白表示」、  D3セル(D3セルとD4セルが結合)には、  勤続年数としては、何も表示しない(エラー表示含) (ケース9)  C3セル、C4セル共に「日付」以外のものなどが、  入力された場合、D3セル(D3セルとD4セルが結合)には、  勤続年数としては、何も表示しない(エラー表示含)  この場合、入力チェックなどでガードを掛けても  可能なのかと思います(すみません、無知なくせに) お手数お掛け致しますが、 何方かこの手でお詳しい方、よろしくお願い致します。 ※補足 わたくしも含めまして、様々な立場や経験をもつ人々が参加されて いるかと思います。 皆様方、色々な環境化の中で人生を歩んできておりますので、 当然、互いに違う考え方や価値観をもった方が多数いらっしゃる かと思います。 考え方や価値観が違うからといって、腹立たしく思ったりして、 その感じた事をストレートに不愉快にさせるような誹謗中傷的な 表現でのご回答・攻撃するような行為だけは避けてくださるよう ご理解願います。

  • Excel関数で、こんなことできますか?

    Excel関数で、こんなことできますか? 『沢山のパターンの中から、自動判定したい。』 (1)~(4)の4パターンで自動判定するよう設定したいのですが、 Excel関数を使って、できるのでしょうか? もし無理であれば、(1)、(2)のみとかだけでもできればありたがたいです。 ちなみに(1)のみの場合は、IF関数で次のように設定しました。 =IF(B6>49,"S",IF(B6>34,"A",IF(B6>24,"B",IF(B6>14,"C","D")))) この他に合計値を出す範囲内のセル( 例えばB3やB4 )に 「N」という表示があった場合には、(2)~(4)の判定をさせたいです。 (エラー値となる場合にはISERRORで”N”と表示するようにしています。) (1)エラーがない場合 判定   合計  S  45以上50以下  A  35以上45未満  B  25以上35未満  C  15以上25未満  D  10以上15未満 (2)B3=Nの場合 判定  合計  S  35以上40以下 A  25以上35未満  B  15以上25未満  C  10以上15未満  D   5以上10未満 (3)B4=Nの場合 判定  合計  S  25以上30以下  A  20以上25未満  B  15以上20未満  C  10以上15未満  D  5以上10未満 (4)B3,B4ともNの場合 判定 合計  S  20以上25以下  A  15以上20未満  B  10以上15未満  C   5以上10未満  D   2以上 5未満 Excel関数でどの関数を使えるのかも判りませんし、マクロも判りません。 普段は似たものを検索してコピペしていますが、複雑なものは判りません。 どなたか、お判りでしたら、お教え下さい。 よろしくお願いいたします。

  • エクセル関数

    職員名簿を作成しています。そこで、勤続年数がA1のセルに表示されます。それをB1のセルに19年0ヵ月以下の年数が表示されたら空欄にし、19年1ヵ月以上の年数が表示されたら、その年数を表示する関数を教えてください。

  • エクセル関数(勤続年数計算)

    経歴書を作成の際、少し込み入った勤続年数を自動計算するエクセル関数を お教え願います。 尚、前提条件として、エクセル(Office2010)を使用で、 (1)例):D7セルに「1993/2/1」と入力し、D8セルに「1994/2/28」とします。     結果表示として、D7セルには「1993(平成5)年2月」、     D8セルには「1994(平成6)年2月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「1年1ヵ月」と表示する関数 (2)例):D7セルに「2003/4/1」と入力し、D8セルに「2003/5/31」とします。     結果表示として、D7セルには「2003(平成15)年4月」、     D8セルには「2003(平成15)年5月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「2ヵ月」と表示する関数     決して、「0年2ヵ月」と表示はしない (3)例):D7セルに「2003/4/1」と入力し、D8セルに「2004/3/31」とします。     結果表示として、D7セルには「2003(平成15)年4月」、     D8セルには「2004(平成16)年3月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「1年0ヵ月」と表示する関数     決して、「0年12ヵ月」と表示はしない (4)例):D7セルに「1993/2/1」と入力し、D8セルに「1995/1/31」とします。     結果表示として、D7セルには「1993(平成5)年2月」、     D8セルには「1995(平成7)年1月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「2年0ヵ月」と表示する関数     決して、「1年12ヵ月」と表示はしない ※上記の(1)~(4)を統合したエクセル関数を是非、ご教示願います。   物理的に困難な場合は、日付入力するD7、D8の箇所を変更しても構いません。 何方かこの手でお詳しい方、よろしくお願い致します。

  • エクセル関数(勤続年数計算)

    経歴書を作成の際、少し込み入った勤続年数を自動計算するエクセル関数を お教え願います。 尚、前提条件として、エクセル(Office2010)を使用で、 (1)例):D7セルに「1993/2/1」と入力し、D8セルに「1994/2/28」とします。     結果表示として、D7セルには「1993(平成5)年2月」、     D8セルには「1994(平成6)年2月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「1年1ヵ月」と表示する関数 (2)例):D7セルに「2003/4/1」と入力し、D8セルに「2003/5/31」とします。     結果表示として、D7セルには「2003(平成15)年4月」、     D8セルには「2003(平成15)年5月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「2ヵ月」と表示する関数     決して、「0年2ヵ月」と表示はしない (3)例):D7セルに「2003/4/1」と入力し、D8セルに「2004/3/31」とします。     結果表示として、D7セルには「2003(平成15)年4月」、     D8セルには「2004(平成16)年3月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「1年0ヵ月」と表示する関数     決して、「0年12ヵ月」と表示はしない (4)例):D7セルに「1993/2/1」と入力し、D8セルに「1995/1/31」とします。     結果表示として、D7セルには「1993(平成5)年2月」、     D8セルには「1995(平成7)年1月」、     E7(E7セルとE8セルが結合)セルには、勤続年数「2年0ヵ月」と表示する関数     決して、「1年12ヵ月」と表示はしない ※上記の(1)~(4)を統合したエクセル関数を是非、ご教示願います。   物理的に困難な場合は、日付入力するD7、D8の箇所を変更しても構いません。 何方かこの手でお詳しい方、よろしくお願い致します。

  • 関数

    職員名簿を作成していますが、各個人の名前を検索するとA1のセルに勤続年数が○年○ヵ月と表 示されますが、それをB1セルに19年1ヵ月以上の年数が表示がされた場合は空欄にし、19年0ヵ月 以下の年数が表示がされた場合はその通りに表示する関数式を教えてください。 IF関数でいろいろと試したのですができません。 詳しく教えてください。

  • 日付の表示方法について教えてください。

    たとえば B2のセルに「2002/3/1」、C2のセルに「2002/4/30」が入力されていて、それぞれ「平成14年3月1日」「平成14年4月30日」と表示されているとします。 このセルのデータを元に、E3に「平成14年3月1日から平成14年4月30日」と表示させたいのです。 「=B2&"から"C2」やCONCANENATEを使っても、シリアル値が帰ってきてしまいます。 日付をシリアル値にせずにそのまま持っていくことはできないのでしょうか?

  • Excel関数 期日を知らせる

    既に出ているような質問だったらすみません、解決できませんでした。 教えてください。     A       B      C 1 2008/10/05 2 2008/10/11 上記をセルに見立てて、A列は手入力。 (1)Bの列にはA列を入力したらその14日後の日付が自動的に出るようにしたい。 しかもその14日後というのが土日祝日だった場合その翌平日が表示されるようにしたい。 【例:B1セルには2008/10/18 B2セルには2008/10/25(2008/10/24が日曜なので)と表示されるように】 (2)C列は、B列の日程が今日だった場合何か印がでるようにしたい 【例:A1に2008/10/05と手入力→自動的にB1に2008/10/18と表示→C1は2008/10/18にエクセルファイルを開いた時だけ、何か印が出るようにしたい(☆印でも数字の1でも何でもよい)】 その他の日に開けた場合(2008/10/18以外)は空欄でよい。 としたいです。 よろしくお願いします!!

  • 加入期間を求めたいのですが ( OO年OOヶ月 と2桁に揃えて)

    B2セルに入会日 C2セルに退会日を入力します。任意のセル(例えばD2)に加入期間を表示したいとします。 DATEDIF関数を試しましたが、一ケタの年数の場合は、一ケタで表示されてしまいます(例 1年6ヶ月) 私が入力した式は以下の通りです。 =DATEDIF(B2,C2,"Y")&"年"&DATEDIF(B2,C2,"YM")&"ヶ月" これを、(例 01年06ヶ月)と表示出来ますか? 上下のセルに大勢入力してあるので、桁がそろわないと見づらいのです。 また、DATEDIF関数の他に、いい関数や方法はあるでしょうか? 求めた期間を元に、「2ヶ月未満」「2ヶ月以上1年未満」「1年以上10年未満」「10年以上」に分類したいと思っています。 DATEDIF関数は初めてなのですが、これで求められた値はテキスト形式だそうですね。 テキスト形式でも、私が求めているような分類が出来るものでしょうか。 それとも、別の方法をしないといけないのでしょうか。 よろしく願いします。