ちくのう症(蓄膿症)は「菌」が原因!?

いつもお世話になります。

タイトルのとおりなのですが、エクセル関数で
今日の日付を入力したら、3年後の3月末日や5年後の3月末日
といったように、○年後の3月末日を計算するには、どうすればいいでしょうか?

今日の日付は、A,B,C列に年,月,日と分けて入力する方法でも、
A列に年月日を入力する方法でもかまいません。

よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

エクセルを使う年代の人が数え年を使うというが意外ですが。



B1に年数を入れる。

数え年のB1歳に達した最初の3月31日という意味だと下記の式
=DATE(YEAR(A5)+B1-1,3,31)

満B1歳に達した最初の3月31日という意味だと下記の式になります。
=IF(MONTH(A1)>3,DATE(YEAR(A1)+B1+1,3,31),DATE(YEAR(A1)+B1,3,31))
    • good
    • 4

#2さんの質問より


>>例えば今日2010年12月18日の3年後の3月末日とはいつのことでしょうか。
に対し
>求めたいのは、生年月日から「3歳に達する3月末日」です。
>「3歳に達する3月末日」は(2012/3/31)です。

「3歳に達する3月末日」という表現がわかりません。
ただ、例から想像するに数え年で3歳の時なら
=date(year(a1)+2,3,31)
となります
    • good
    • 2

A1に =TODAY()


B1に3年後の3月末を出す。
 =DATE(YEAR(A2)+3,3,31)
又は
 =DATE(YEAR(A2)+3,4,0)

○年後は、3を○年に変更してください。

2年後の2月末(2014年はうるう年で29日)を出すなら
=DATE(YEAR(A2)+2,3,0)
とする。3月の0日は、2月末日となります。
    • good
    • 0

単純に3年後だと


=DATE(YEAR(A1)+3,3,31)
今から3回目(1,2,3月の場合は2年後)だと
=DATE(YEAR(A1)+3-(MONTH(A1)<4),3,31)

3月に関係なく、入力日から3年後の月末日だと
=DATE(YEAR(A1)+3,MONTH(A1)+1,0)

※ABC列に分ける場合は、YEAR(A1)→A1、MONTH(A1)→B1に置き換えてください。
    • good
    • 0

例えば今日2010年12月18日の3年後の3月末日とはいつのことでしょうか。



単純に今日の年の3年後の3月末日なら2013年3月31日、
今日のちょうど3年後より後の3月末日なら2014年3月31日です。

前者なら今日の年に3を足すだけ。
後者なら今日と今年の3月31日を較べて、3月31日以前なら年に3を足す、そうでなければ年に4を足す。

この回答への補足

そこまで詳しく考えていませんでした。
ご指摘ありがとうございます。

求めたいのは、生年月日から「3歳に達する3月末日」です。
ですので、今日(2010/12/18)生まれの子なら、
「3歳に達する3月末日」は(2012/3/31)です。

補足日時:2010/12/18 19:05
    • good
    • 0

A1に今日の日付


B1に○年後の ○
C1に
=DATE(YEAR(A1)+B1,3,31)
としてください。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで1年後の月末を表示させたい。

既出を確認しましたが、いまひとつピンと来るものがなくてお尋ねいたします。

エクセルで表を作成しております。
例えばH2のセルに入力した任意の日付(例えば平成18年10月24日)に対してJ2セルに1年後の月末の日付(例えば平成19年10月31日)を表示させたいのです。
よろしくお願いいたします。

Aベストアンサー

=DATE(YEAR(H2)+1,MONTH(H2)+1,0)
上記で1年後の同月末(翌月1日の前日)になります。

QExcelで五年後の日付を自動的に入力したい場合

表題の件なのですが
Excelで次のようにある日時を入力します。

2004/01/30

このように入力して別のセルに自動的に五年後の日付

2009/01/30

を自動的に表示させるためにはどのような処理をすれば宜しいかをご教示願います。

Aベストアンサー

例えばセルA1に5年前のデータを入れるなら、5年後の日付を出したいセルに

=DATE(YEAR(A1)+5,MONTH(A1),DAY(A1))

という式を入れればOKです。
式の中のA1の所は、元のデータのセルの位置にあわせて変えてください。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで年度末

エクセルの表に、資格更新年月日DATAの表を製作しています。
各資格、年度末を期限として2年度、3年度と期間を設け資格更新講習を受講しなければなりません。
年度末までに、期限が来る人を抽出しなければなりません。年度末に関する関数をお教えください。また、それを用いてうまくアラート表示できればなおいいのですが。

Aベストアンサー

え~と、#1さん同様、いまいち詳しい状況がわかりませんでしたが、とりあえず書いてみます。更新が終了した日付は手入力するものとします。

まず、A1に
=DATE(YEAR(TODAY())-(MONTH(TODAY())<4),4,1)
とし、本日の属する年度を「セルの表示設定」を用いて「平成18年度」と表示します。(ユーザー設定:ggge"年度")
2行目から各人のデータが入り、1列目が氏名、2列目が直近の更新日(手入力)、3列目が更新の「既・未」を表示させます。3列目に入れる式は、
=IF(AND(B2>=A1,B2<=DATE(YEAR(A1)+1,3,31)),"既","未")
とします。
これで、「本日の属する年度分の更新が済んでいるかどうかが「既・未」で表示されます。

あと、「アラート表示」については、「条件付書式」を用いるといいのではないかと思います。

それから、未資格者で今度初めて資格を取るというケースについては考慮していません。

急いでやってみたので勘違いやミスがあるかも知れません。

Qexcelからexcelへの差し込み印刷

お世話になります。

excelでwordへの差し込み印刷をよく利用するのですが、
同様に、
excelのデータをexcelに流し込んで印刷する方法はありますでしょうか。

excelの名簿のデータを
excelの表のフォーマットに流し込んで
1人づつ印刷したいのですが。

お分かりの方いらっしゃいました教えてください。
どうぞ宜しくお願い致します。

Aベストアンサー

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

上記の品をお送り申し上げます。
ご査収ください

以上
Xの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,2,FALSE)
Yの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,3,FALSE)
Zの場所のセルに =VLOOKUP($H$1,Sheet1!$A$1:$D$3,4,FALSE)

---
結果

送り状

住所山田 三郎
氏名東京都江東区

品物かばん

上記の品をお送り申し上げます。
ご査収ください

以上
ここで
VBE画面で標準モジュールに
Sub test01()
For i = 1 To 2 '人数分
Range("H1") = i
Range("A1:G20").PrintOut '印刷範囲は各人同じとする
Next i
End Sub
を張り付け、実行する。
山田、植田分の紙が2枚印刷されました。
これは質問者はVBAの経験も無いでしょうと、最低限にしてあります。
VBAを勉強してください。
別ブックにある名簿を対象などは複雑になるので避けています。

イメージはわかるが、エクセルに差込印刷の機能はありません。
ワードなどと違ってA.X氏1人分書類シート作成、B印刷、Aのシートををy氏分のデータでシート内容(セル)を置き換え、印刷、の繰り返しをします。
ーー
例データ Sheet1 A1;D3
連番氏名住所品物
1山田 三郎東京都江東区かばん
2植田 健横浜市港北区帽子
A列はこのたび連番を振りました。
Sheet2   に送り状の書式を体裁よく作ります。
H1セル(どこでも良いが、下記のVLOOKUPの式は変わる)

送り状

住所X
氏名Y

品物Z

...続きを読む

Qエクセルでの指定文字 カウントについて

エクセルで並んだデータでの指定した名前だけの個数をカウントするにはどうすればいいのでしょうか?

山田 高橋 佐藤
高橋 梅田 赤田
 西 山田 梅田
佐藤 山田 梅田

名前が並んだデータで「高橋」という名前が何個あるのかをカウントしたいのですがどうすればいいのでしょうか?

Aベストアンサー

 データは入力されているセルの範囲を「A1:C4」とすれば、

=COUNTIF(A1:C4,"高橋")

Qエクセルで、頭に0をつけて数字の桁を揃える方法

エクセルで、必ず5桁の数字を入れる列があるとします。
ところが、数値データとして最初に作っているので、0が頭になく桁が足りない場合があります。
任意文字として5桁の数字にしたいのですが、

何かいい方法はありませんでしょうか?

例)
A列 A列
50      00050
1000  ⇒  01000
11111    11111

どうぞよろしくお願いいたします。

Aベストアンサー

次の方法は如何でしょうか。
(1)表示だけで良いのならば、セルの書式設定→表示形式→ユーザ定義で00000を設定
(2)データとして必要ならば、空き列(仮にB列)B1に=TEXT(A1,"00000")を入力、下方向にコピー→B列をコピー→A列に形式を選択して貼り付けで「値」を選択→OK、B列を削除

QExcel関数で指定した年月の月初と月末を表示させたい

いつもお世話になります。

表題の件ですが、下記例のように表示させたいと考えています。

例:2009/03/09 ← 指定
 ・月初:2009/03/01  ← 表示
 ・月末:2009/03/31  ← 表示

仮に指定した日付をA1として、どのような関数構成を
組み立てたらいいか、ご教授の程宜しくお願い致します。

Aベストアンサー

例えばA1に日付が入っているとして
月初であれば
=DATE(YEAR(A1),MONTH(A1),1)
月末であれば
=DATE(YEAR(A1),MONTH(A1)+1,1)-1
でどうでしょうか。

Qエクセルで〇の数を数えたい

エクセルで〇の数を数えたい。関数式はどうなりますか。
c5~c45の○を挿入したセルの数をc50にだしたいのですが。
ひさしぶりにエクセルやったので、忘れてしまいました。

Aベストアンサー

#1です。
おかしいですねえ。

まさかとは思いますが、
・「○」のつもりが、英語の O になってるとか、数字の0とか、漢数字の〇になってるとか
・○の前後にスペースが入っていないか

このあたりを見てみましょう。

Qエクセルで特定の列にある日付データの中から、指定した日付範囲を抽出する方法を教えてください

例えばこんなデータなのですが、

2002/07/01 99 25 36
2002/07/05 55 33 25
2002/08/01 80 20 51

日付の入っている列を検索して、2002/07/01から2002/07/31
の範囲ならば、その行のデータを別のシートに抽出したいのですが、
日付の範囲は関数でどうすればよいのか分かりません。ACCESSなら
between 9999/99/99 and 9999/99/99って感じで簡単にできるの
ですが。。。エクセルの関数だとIF関数の論理式にAND関数を使って
>=2002/07/01
<=2002/07/31
と入力したので、2002/07/05ならば、いずれもTRUEなので、値を返して
くれると考えたのですが、なぜかダメでした。
(↓こういう入力をしました)
=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

Aベストアンサー

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

------------余談--------------------------
ご質問の条件例の場合特例で 2002/7でればOKなので

=IF(TEXT(Sheet2!A1,"yyyym")="20027",Sheet2!A1,"該当月ありません")

でも可能ですね!

こんばんは!

=IF(AND(Sheet2!A1>=2002/7/1,Sheet2!A1<=2002/7/31),Sheet2!A1,"該当月ありません")

おしいですね(^^;
日付をそのまま入力してしまうと数式上では
 2002/7/31 → 2002÷7÷31 になってしまいます。
ダブルクォーテーションで括って(文字列)入力して
それを数値化しましょう!

=IF(AND(Sheet2!A1>="2002/7/1"*1,Sheet2!A1<="2002/7/31"*1),Sheet2!A1,"該当月ありません")

文字列 ="10" に対して 乗算 *1 としても数式が
なり立ち文字列の数字が数値化されます。="10"*1

--...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング