次のようなことをエクセルで算出させるには、
どのような式を作ったらよいのでしょうか?
(1) 満15歳になった後の最初の4月1日を平成何年に迎えるのか
(2) 満22歳に達した後の最初の3月31日を平成何年に迎えるのか
エクセル2000を使用しています。
どうぞよろしくお願いします。

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

A 回答 (4件)

>(1) なぜ100を掛けるのでしょうか?


>(2) 401,1,0や331,1,0は、それぞれ数値に置き換えられたものを
日付に再変換させる為のものなのでしょうか?

別に100でなくても、32以上の数値であればほぼ何でもいいです。ただ、月に100をかけて日付を足すと、わかりやすい数値に(4月1日なら401のように)なるため100にしています。つまり、
IF(MONTH(A1)*100+DAY(A1)>401,1,0),
は日付が4月1日より大きい(4月1日より後)なら1を、小さかったら0を
YEAR(A1)+15 に足します。誕生日が4月1日以前なら生まれた年に15を足せばその年が分かりますが、誕生日が4月1日以降であれば更に1を足さないとうまくいかないためです。


>(2)「e」にどのような意味がありますか?

TEXT 関数は数値の書式設定を指定する関数です。
eは和暦の年号に対する年を返してくれます。
その他は、yy で下2桁の西暦年、yyyyで4桁の西暦年、
gggで年号、mで月、dで日付などです。
=TEXT(TODAY(), "gggee年mm月dd日(aaaa)")
のように指定します。詳しくはヘルプに載っていると思います。
ただし、TEXT関数は文字列で値を返すため、数値にしたい場合はVALUEを使います。
    • good
    • 0

前回のNO2の回答の不完全に気づきました。

済みません訂正します。
誕生日と指定月日の後先のことを考慮しました。
A1セルに生年月日の例S30.2.3、B1のセルに「=YEAR(A1)」(結果値は1955)
C1に4月の4、D1に1日の1、E1に=DATE(B1,C1,D1)
F1に=IF(A1>E1,1,0)(結果値は0)で誕生日より後先を0か1に数値化する、
G1に=DATE(B1+10+F1、C1,D1)」とすると(10年先)、
G1には1965/4/1と表示されました。
10年先を色々指定するなら、前回回答後段のようにセル列(H1)を作って、10の代わりに+H1を入れる。
    • good
    • 0

A1セルに生年月日の例S30.2.3、B1のセルに「=YEAR(A1)」、C1に4月の4、D1に1日の1、E1に「=DATE(B1+10,C1,D1)」とすると、E1に1965/4/1と表示されましたが、これでいいのでしょうか。

半信半疑ですがやってみてください。
また10年後の10を人ごとに相対化するためにF1に10をいれ、
E1に=DATE(B1+F1,C1,D1)と式を入れてもOKでした。
E1の年の表現を昭和とかにするのも、書式・セル・日付でもちろん変えられました。
    • good
    • 0

A1に生年月日が入っている状態なら



=VALUE(TEXT(DATE(YEAR(A1)+15+IF(MONTH(A1)*100+DAY(A1)>401,1,0),4,1),"e"))

のような式で満15歳の方は出ます。
平成○年の○の部分の数字だけを出す式です。
おなじく、満22歳の方は

=VALUE(TEXT(DATE(YEAR(A1)+22+IF(MONTH(A1)*100+DAY(A1)>331,1,0),3,31),"e"))

で出すことができます。

この回答への補足

pesoさん、ありがとうございます!

ところが、なぜちゃんと計算ができるのか、
初心者の私には、その仕組みが分かりません。
いくつか質問をさせていただいていいでしょうか?
(1) なぜ100を掛けるのでしょうか?
(2) 401,1,0や331,1,0は、それぞれ数値に置き換えられたものを
日付に再変換させる為のものなのでしょうか?
(2)「e」にどのような意味がありますか?
お手数ですが、よろしくお願いします。

補足日時:2002/03/02 20:02
    • good
    • 0

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

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

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

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

Qなぜ最初は英語のテストで点数取れて後は取れないか

中三です
自分は中一、中二の前半までは英語があまりできませんでした
テストの点数は中二の前半までは50、60点であまり高いと言った感じではありませんでした
ですが中二の後半からがんばって勉強して中二の最後のテストでは90点取ることができその後高校の内容を自分から勉強して今は塾と家で高校3年の内容をやっていて学校の授業の英語は簡単すぎてつまんないと言ったレベルまでになりました
自分で言うのもあれなんですががんばったからここまで上達できたのだと思います
ですが周りの人は中一の最初の英語のテストで80、90点取ってて学年平均は81点でした
ですが学年が上がるにつれてほとんどの人が点数が下がったり苦戦していました
中には中一最初のテストは80点だったのに今では20、30点ぐらいのレベルになっている人などいろいろいました
もちろん今でも80、90点レベルの人いますし最初から点数が低い人もいるでしょう
ですが最初の頃いい点数取れてたのに後になるにつれて下がる人がほとんどです
その人たちのほとんどは難しいと言っていますが
なんでほとんどの人は後で最初は英語できるのに後になったらできない、苦手になるんでしょうか?
最初がてきてるのならちゃんとやれば問題ないのにと思いませんか?
皆さんはどう考えますか?
後自分周りの人が英語で苦戦してると「カスだな、この程度の長文も読めないのかよ、てか中学校レベルの英語の長文なんて内容と量的にも長文とは言えないし」などと思っています
これはおかしいですか
それと現在は高校3年の英語をやっていますが苦戦する時もたまにはあります
皆さんは高校三年の英語で苦戦する場合がある私のことをどう思いますか?
高校3年程度の英語を簡単と感じないレベルでは全然だめだと言っていいですし他の意見でもいいですので正直な意見でお願いします

中三です
自分は中一、中二の前半までは英語があまりできませんでした
テストの点数は中二の前半までは50、60点であまり高いと言った感じではありませんでした
ですが中二の後半からがんばって勉強して中二の最後のテストでは90点取ることができその後高校の内容を自分から勉強して今は塾と家で高校3年の内容をやっていて学校の授業の英語は簡単すぎてつまんないと言ったレベルまでになりました
自分で言うのもあれなんですががんばったからここまで上達できたのだと思います
ですが周りの人は中一の最初の英語の...続きを読む

Aベストアンサー

最初が簡単にできてしまうと、努力しない、ということがあるのかもしれません。

「最初ができているのならちゃんとやれば問題ない」そのとおりなのですが、「できるからやらなくて大丈夫」と油断しているとか。

そのうちだんだん難しくなってくるから、だんだん分からなくなってくる、という風に。

でもね、人によって分からない部分や、つまずく場所が違うのですよ。
だから人によっては、「ここまでは簡単だったけど、ここから先はよく分からなくなってしまった」、とかいうこともあるんじゃないかと思います。

質問者さんだってこの先どこかで止まってしまうかも分かりません。
頑張っていてもなかなか伸びないで、一時的に伸びが止まってしまう人もいます。これは誰でもありうることなのですが。
「一時的に」だから、足踏みしても続けてください。

質問者さんは素晴らしいと思いますよ、がんばってその結果、人より出来るようになったんだから。
努力できるというのも才能だと思いますし(なかなか出来ないんですよ、普通の人は)、中学3年生が高校3年用の英語を勉強している時点で普通よりすごいです。

ただ、得意不得意は誰でもあるものなので、できない人を馬鹿にするのは良くないと思います。
勉強が不得意でも、他で優れている人もいますしね。
(きれいごとを言っているんでなくて、社会に出たらそうなんです。勉強ができればそれで全部良いわけではないので)


さらに高いレベルを目指すんだったら国語力(読解力)も関係してくるので、読書もすると良いと思います。日本語で書いてある本で良いので。

最初が簡単にできてしまうと、努力しない、ということがあるのかもしれません。

「最初ができているのならちゃんとやれば問題ない」そのとおりなのですが、「できるからやらなくて大丈夫」と油断しているとか。

そのうちだんだん難しくなってくるから、だんだん分からなくなってくる、という風に。

でもね、人によって分からない部分や、つまずく場所が違うのですよ。
だから人によっては、「ここまでは簡単だったけど、ここから先はよく分からなくなってしまった」、とかいうこともあるんじゃないかと思います...続きを読む

QEXCELで同一フォーマットのシートを31日分簡単に作成する方法は?

お世話になります。

機械等の運転日誌を作成しております。

sheet1を1日、sheet2を2日とします。

2日のB1に入力した数値が、1日のA1にも入力され(飛び)、
3日以降も前日のA1に入力されるように、
sheet1のひながたで、31日分作成したいのです。

一枚ずつ1日(A1=sheet2!B1)、2日(A1=sheet3!B1)...
という方法で31日分作成すると、かなり時間がかかってしまいます。

助けてください!

よろしくお願いします!

Aベストアンサー

こんにちは。

=INDIRECT("Sheet"&REPLACE(CELL("filename",A1),1,FIND("eet",CELL("filename",A1))+2,"")-1&"!A1")

このようにして、Indirect 関数を使う方法もありますが、再計算関数ですので、後々、面倒なことになります。ですから、以下のようなマクロを作ってみました。

使い方:
最初に、該当するシートまたは、全部のシートを選択します。

次に、式を入力するセルにセルポインターを置きます。
 Alt+F8 で、登録された、FormulaEnterという名前のマクロを探します。
 式の中に入るセルの場所を聞いてきますので、それをマウスで選択します。
 どのように入るか、例が出てきますので、良ければ、OK を押してください。
 全部のシートを選択しても、最初のシートには、式は入力はされません。

マクロの登録

'<標準モジュールがベターですが、どこでもよいです。>
Sub FormulaEnter()
'前のシートを参照して、式を作るマクロ
Dim myAdd As String, ActivecellAdd As String
Dim mySheets As Sheets
Dim ShIndex As Integer
Dim ws As Worksheet
Dim msg As String
Dim myRng As Range
 Set mySheets = ActiveWindow.SelectedSheets
 ActivecellAdd = ActiveCell.Address(0, 0, 1)
 
 If mySheets.Count = 1 Then MsgBox "複数のシートを選択してください。": Exit Sub
 
 On Error GoTo ErrHandler
 
 Set myRng = Application.InputBox("現在のシートで、参照するセル位置を指定してください。", Type:=8)
 myAdd = myRng.Address(0, 0)
 If ActiveSheet.Index = 1 Then ShIndex = 2 Else ShIndex = 1
 msg = "=" & mySheets(ShIndex).Previous.Name & "!" & myAdd
 
 If MsgBox("例:" & ActivecellAdd & "の位置に、以下のように入力されます。" & vbCrLf & vbCrLf & _
  msg & vbCrLf & vbCrLf & "よろしいですか?(Sheet1に該当するシートには入力されません。)", vbOKCancel) = vbOK Then
 
 For Each ws In mySheets
   If ws.Index <> 1 Then
   ws.Range(ActivecellAdd).FormulaLocal = "=" & ws.Previous.Name & "!" & myAdd
   End If
 Next ws
End If
ErrHandler:
 mySheets(1).Select
 Set mySheets = Nothing
 
End Sub

こんにちは。

=INDIRECT("Sheet"&REPLACE(CELL("filename",A1),1,FIND("eet",CELL("filename",A1))+2,"")-1&"!A1")

このようにして、Indirect 関数を使う方法もありますが、再計算関数ですので、後々、面倒なことになります。ですから、以下のようなマクロを作ってみました。

使い方:
最初に、該当するシートまたは、全部のシートを選択します。

次に、式を入力するセルにセルポインターを置きます。
 Alt+F8 で、登録された、FormulaEnterという名前のマクロを探します。
 式の中に入るセルの場...続きを読む

Q中学、一番最初の英語の授業って、どんな印象でしたか?

今は小学校でも英語を習うところがあるようですが、私の頃は英語に初めて接するのは中学からでした。
さてその英語ですが、一番最初の授業って、どんな印象でしたか?
その印象で、英語の好き嫌いが決まってしまうとも聞きました。
私の時は、先生が開口一番“Good morning everybody”だったので、皆ポカーンとなりました。
何だか訳のわからないことが始まったなぁー、という印象でした。

Aベストアンサー

とりあえず"I am~"とかからでしたね。

担任と顧問が英語担当(分割授業だった)のでとりあえずやろうとしか思ってませんでした。

いま中二なんですけど一年ときより英語を理解してるんで今のほうが英語好きかなー。

英語は理解できたら好きになるかもよっと思います

QAccessで計算式を利用した在庫期間の算出方法について質問です。

OS XP
Access ver.2003

・在庫の保有期間を算出したいです。
・元になるデータは入庫月と現在月で、形式はどちらも「yyyy/mm(年月)」です。
 たとえば、入庫月「2008/12」現在月「2009/02」です。
 上記の保有期間は「入庫月」と「現在月」の間に存在する期間を1月(ひとつき)とすると、「1」と算出させたいです。
・入庫月と現在月はDBより抽出しておりデータ型は数値型で、テーブルのプロパティ変更はできません。
・どのようにクエリを作成すれば、保有期間を算出できるでしょうか?

Aベストアンサー

> 入庫月:200810 現在月:200902
…とあるので
両方の項目とも文字列でYYYYMMの形で入っている。"/"は入っていない
…と仮定して。

DateDiff('m',CDate(Mid(Trim([入庫月]),1,4) & '/' & Mid(Trim([入庫月]),5,2) & '/' & '01'),CDate(Mid(Trim([現在月]),1,4) & '/' & Mid(Trim([現在月]),5,2) & '/' & '01'))-1

入庫月「200812」現在月「200902」の場合、1と表示されます。
入庫月「200810」現在月「200902」の場合、3と表示されます。

Q「最初のほうは終わった」を英語で何といえばよいでしょうか?

「最初のほうは終わった」を英語で何といえばよいでしょうか?

英語学習の教材がNo1からNo150まであります。
今自分はNo40ぐらいまでやり終えました。

このとき、「教材の最初のほうは終わった」
と言いたいのですが、何と言えばよいでしょうか?

また、ある本を読んでいて、「本の最初のほうは読み終えた」は何と言えばよいでしょうか?

Aベストアンサー

いろいろな言い方があると思いますが、以下も一例かと………

「教材の最初のほうは終わった」
I've finished early part in the assignments.

「本の最初のほう(前半)は読み終えた」
I read early part(first half) in the book.

Q文字列の最初に0を付ける

いつもお世話になります

たとえばセルに
1234567
という数字が入っていてその頭に0を付けて
01234567
にしたいのです。
1つや2つのセルなら一個一個やるんですが
50、60もセルがあるとさすがに無駄があると思いまして。
一気にできる方法はありますでしょうか?

Aベストアンサー

それらのセルを選んで
セルの書式設定>表示形式
左のリスト:ユーザー定義
右の"種類":00000000
(0の数は桁数)

文字列のセルには影響しないのでそれ以外(小数や日付など)のセルがないのなら気にせずに行(列、全体)選択してよい。

Q歌詞に英語が使われた最初の日本の歌謡曲は何ですか?

おそらく戦後だとは思いますが、歌詞に英語が使われた最初の日本の歌謡曲は何ですか?

もちろん演歌でも何でもイイのですが、教えてください。

Aベストアンサー

戦前でもたくさんの曲に英語は登場しましたね。
明治・大正は知りませんが、「影を慕いて」(古賀政男作曲、藤山一郎歌唱の名曲=昭和7年)にも「ギター」が出てきます。
http://www.mahoroba.ne.jp/~gonbe007/hog/shouka/kagewo.html

その他「ハイキングの唄」(昭和10年)。Youtubeで探せます。

探していたら、さらに古いのが。「チョイトネ節」(明治44年)
歌詞に「ホワイトリボン」があります。
http://homepage1.nifty.com/zpe60314/kayo1.htm

QMessengerでメッセージの不達が頻発します

話している最中に突然メッセンジャーが切断され、自動再接続するまで
メッセージのやりとりが出来なくなる現象が起きています。
それの前後でなくとも、時々メッセージの不達が起こり、大変困っています。
これは以前のMSN Messenger7の時からで、Live Messengerにしても変わりません。
ネットの回線自体が切断されているのかと思い調べましたが、それはありませんでした。
光ファイバーで直にPPPoEでネットに繋げています。どういった原因が考えられますでしょうか?
WindowsXP Professional SP2 アップデート等は最新版のものです。

Aベストアンサー

繋がらない時って診断画面みたいの出ますよね。あれではどこに問題あるって出ます?オプションの接続、設定でサーバー接続のログを残したらヒントえられないかな?

Q就職する企業に一番最初に提出する物って、英語で言ったら何ですか?

就職する企業に一番最初に提出する物って、英語で言ったら何ですか?

Aベストアンサー

loyalty

Q「Office XP」の何年のバージョンですか?

Office XPは何年のヴァージョンでしょう?
また
新しさは
Office2002→Office2003→Office XP
でしょうか?
Office2002→Office XP→Office2003
でしょうか?
Office XP→Office2002→Office2003
でしょうか?

ご回答よろしくお願いします。

Aベストアンサー

ソフトのバージョン
実際に導入している方の場合は、ソフトのヘルプーバージョン情報でわかると思う。
http://support.microsoft.com/kb/291331/ja
参考
http://oshiete1.goo.ne.jp/qa1605730.html
http://www.h3.dion.ne.jp/~saitoy/index22.htm

概括的知識として知りたいなら
googleで「officexp バージョン」などで照会すれば判るのでは。
http://ascii24.com/news/i/soft/article/2001/04/02/print/624848.html
など
ほかに、SPについて
http://support.microsoft.com/kb/328294/ja


人気Q&Aランキング

おすすめ情報