1から260までの数字があります。
この数字が生年月日毎に割り当てられています。
1から260までの数字は順番にやってきます。
(例:1914年1月1日➡︎223だとしたら
1914年1月2日➡︎224というように順番に巡り、
1914年2月7日➡︎260までいったら
1914年2月8日➡︎1 というように260の次はまた1に戻る・・・を繰り返します。
この、生年月日(西暦、月、日)に対応する数字を導き出す方法を教えて下さい!
また、ルールのようなものがあるのですが
・52年に一度は同じ数字が割り当てられることになります。
(1964年と2016年は同じ誕生日の人は同じ数字になります)
・生年月日は1914年1月1日から104年分(2017年12月31日)までの対応の数字を出せるようにしたいです。
・うるう年の3月31日と4月1日は同じ数字になります。
Excel初心者であまり詳しいことはわかりませんが、どうぞお力を貸して下さい!!
宜しくお願い致します。
・
No.8ベストアンサー
- 回答日時:
せい数のわり算で【あまり】の意味も分からない方に回答するのも気が引けますが、
A1セルに 1914/1/1 などの日付を入力
=(MOD(A1-"1913/5/23"-INT((YEAR(A1)-1912)/4)+AND(MOD(YEAR(A1),4)=0,MONTH(A1)<=3)-1,260)+1)
ででます。ただし、うるう年ではない西暦1900年以前、および、2100年以降は使えません。
意味不明だろうけど解説
起点(0点)の作成:A1-"1913/5/23"
うるう年の対応:-INT((YEAR(A1)-1912)/4)
うるう年の対応~3月:+AND(MOD(YEAR(A1),4)=0,MONTH(A1)<=3)
解が0への対応 :-1 と +1
日付表示への対応 : =(~~~)の前後のかっこ。書式で対応でもOK
ちなみに、質問者の補足コメントの画像において2066年は間違っています。
理解力の足りない私にご丁寧に教えて下さり本当に感謝しております。
上記計算式を入力したところ、無事にできました!!
本当に感動です!!
なんとお礼を言ったら良いのか・・。
ありがとうございました!!!
この度はこちらで本当にたくさんの皆様に教えて頂き、無事に私の作りたかったものが
完成しました。
これで、今後は飛躍的に楽になります。
感謝をこめて・・・。
No.10
- 回答日時:
そもそも今回のルールは、年(1月1日~12月31日)ではなく、年度(4月1日~翌3月31日)と考えた方が、分かりやすいと思います。
(年度の考え方は、分かりますよね?)具体的には、次の①②を求め、その合計を260で割った余りに+1するイメージです。
①過年度の日数=起点から前年度までの年度数×365日(閏日は考慮しない)
②当年度の日数=当年度4月1からの経過日数(閏日を考慮する)
上記の仕様でユーザ関数を作るとこんな感じになります。
引数MyBirthday は、誕生日(日付型)のセルを指定してください。「例、=MyBirthNum("A1") 」
Function MyBirthNum(MyBirthday As Variant) As Variant
Const Kiten As Long = 1913 '起点1913年4月1日
Const Chousei As Long = 207 '1914年1月1日を223とするための調整比数
Dim Nendo As Long
Dim Days As Long
Nendo = Year(MyBirthday)
If Month(MyBirthday) < 4 Then
Nendo = Nendo - 1
End If
Days = (Nendo - Kiten) * 365
Days = Days + DateDiff("d", DateValue(Nendo & "年4月1日"), MyBirthday) + Chousei
MyBirthNum = Days Mod 260 + 1
End Function
ご丁寧に教えてくださって本当にありがとうございました。
年度はわかります(汗)
私が使っているのはMacのNumbersなので、ちょっと上記の式の入力の仕方が
よくわかりません。(Numbersは関係ないのかもしれませんが、それすらちょっと意味不明です)
現在はNO8のCoalTarさんの教えて下さった
=(MOD(A1-"1913/5/23"-INT((YEAR(A1)-1912)/4)+AND(MOD(YEAR(A1),4)=0,MONTH(A1)<=3)-1,260)+1)
という式で使っています。
明日、念のため100年分の3月31日と4月1日のナンバーを出してみて、
変になっていないか確かめてみようと思いますが、それで大丈夫だったら
この計算式で使って大丈夫でしょうか?
何がなんだか、さっぱりわからなくなってしまいました・・・。
すみません・・・。
教えていただけると嬉しいです。
No.9
- 回答日時:
No7です
4で割り切れる年がうるう年ですが、例外として400で割り切れる年は平年である。
この例外処理が漏れていたので、改めて、例示します。
今回の式の見かけは、ダラダラ長くて複雑ですが、初歩的な関数を使用しました。
作成手順
1. A1セルに 文字 生年月日 を入力
2. B1セルに 文字 番号. を入力
3. A2セルに 日付 1914/1/1 を入力
4. B2セルに 数字 223 を入力
5. A2セルに 日付 1914/1/2 を入力
6. B3セルに 式 下記の式 をコピー
=IF(MOD(YEAR(A3),400)=0,IF(B2=260,1,B2+1),IF(MOD(YEAR(A3),4)<>0,IF(B2=260,1,B2+1),IF(AND(MONTH(A3)=4,DAY(A3)=1),B2,IF(B2=260,1,B2+1))))
7.A3セルとB3セルを選択し、下へ オートフィルコピーする、 以上です。
【式の説明抜粋】
平年判定 MOD(YEAR(A3),400)=0
同上 MOD(YEAR(A3),4)<>0
4月1日判定 AND(MONTH(A3)=4,DAY(A3)=1)
【注】
1.添付図は 完成した表の一部のみ表示しました。
2.No8さん指摘の、質問者の補足コメントの画像において2066年は間違っています。
原因は冒頭に書いた、例外処理をしていない、だろうと思います。
3.>1964年と2016年は同じ誕生日の人は同じ数字になります
間違いないですか、
何度も色々とご丁寧にありがとうございました!
大変申し訳ありません。
NO8のCoalTarさんの教えて下さった式で無事に解決した為、ベストアンサーをつけて終了したつもりでいたのですが、うまく反映されていなかったようで、まだ未解決のままになっていたようです。
本当にすみませんでした。
CoalTarさんの方法ですでに解決したと思っていたので、すでに一度作成した表も削除してしまいました。
確かに2066年は間違っていました。
3.>1964年と2016年は同じ誕生日の人は同じ数字になります
間違いないですか、
はい、その通りです。
52年に一度で同じ数字になります。
No.7
- 回答日時:
一例です。
教えて下さってありがとうございます。
Excelの知識が乏しくて・・・。
残念ながら私には上記表をどのように自分の表のセルと対応させたらよいのかわかりませんでした。
せっかく教えて下さったのに申し訳ありません。
No.6
- 回答日時:
「macのNumbers」とやらを全く知らないけど、エラーメッセージから判断して、式を次のように変更したらどうなりますか?
=IF(A1>0,IF(MOD(A1+48,260)=0,260,MOD(A1+48,260)),"")
それから、私の記憶が正しければ、日付連番(Serial Number)が次のように異なりませんか
Windows版 1900/1/1 の S.N. が 1
Mac版__ 1904/1/1 が S.N. が 0
これが正しければ、更に式の変更を要するけど、今はエラーが回避されるか否かだけを。
何度もご丁寧にありがとうございます。
上記式を入れてみましたが、「データタイプが異なっているため、日付と数字は比較できません。」と出てしまいました。
>それから、私の記憶が正しければ、日付連番(Serial Number)が次のように異なりませんか
Windows版 1900/1/1 の S.N. が 1
Mac版__ 1904/1/1 が S.N. が 0
すみません。私には意味がちょっとよくわかりませんでした(涙)
No.5
- 回答日時:
Excelじゃなくって算数ですが
260と365の最小公倍数は18,980
1年を365日として割ると52年が出る
Excelで計算させると
=LCM(260,365)/365
>(1964年と2016年は同じ誕生日の人は同じ数字になります)
>・うるう年の3月31日と4月1日は同じ数字になります。
4月1日に調整すると3月の誕生日の人のみズレが生じませんか?
・うるう年の2月29日と3月1日は同じ数字になります。
ならわかるのですが、、、
色々教えて下さってありがとうございます。
手元の資料を確認してみましたが、やはり、うるう年の3月31日と4月1日は同じ数字にするようです。
ここで求めた1〜260の数値を使ってさらに色々みていくのですが、その際やはりうるう年の「3月生まれ」の人は一定の法則に従ってプラスしたりマイナスしたりする必要はあるみたいです。
No.4
- 回答日時:
[No.3お礼]へのコメント、
》 うちはmacのNumbersを使っているので、関係ありますでしょうか?
知りません!
なぜソレを最初に仰らなかった!
此処は「Excel(エクセル)」の部屋でっす!
すみません。
Numbersは使用している人が本当に少ないので、Numbersで検索しても全く出てきません。
関数の使い方などはExcelと同じなので、こちらでお世話になっておりました。
ただ、計算式を入力する時にNumbersはそのセルをクリックして入れるのですが(そうしないとどの表のセルなのかを認知しないようです)そこがExcelと違うのでしょうか?
Excelは昔会社で使っていましたが、今はうちにないので、ExcelとNumbersがどのように違うのかもよくわからなくて・・・。本当に申し訳ありません。
No.3
- 回答日時:
[No.2お礼]へのコメント、
》 セルF2に生年月日を2016/2/14と入力し、上記計算式を
》 表示させたいセルに貼り付けてみたのですが…
私の式がセル A1 を参照しているからには、順序が間違ってます!
先ずは、セル A1 に日付を入力して、ソノマンマの式を試してみることでッす!
念のために申し上げておきますが、式を自分で勝手に入力せずに、このページの式をコピーして貼り付けませうネ。
》 日付の入れ方がまずいのでしょうか?
上の結果が判明してからにしませう。
何度も教えて下さってありがとうございます。
A1セルに日付を入力してB2セルに計算式を入れてやってみたのですが
「引数1 / IFはブール値であることが必要ですが、セルA1に日付が含まれています」
と出てしまいます。
うちはmacのNumbersを使っているので、関係ありますでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/01/10 09:15
- Excel(エクセル) 【関数】ハイフン(-)を月や日に変えたい。スペースを削除したい。 4 2023/07/12 08:49
- Excel(エクセル) Excel 同一セル内 年、日 入れ替え 5 2022/04/09 01:48
- Excel(エクセル) エクセル365の関数。誕生日表記がおかしい 2 2022/10/17 18:52
- Excel(エクセル) エクセルで年月日の桁数を揃えるには 7 2022/06/18 23:51
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/10 08:51
- Excel(エクセル) Excel2019のデータ入力に便利な関数について 4 2023/07/06 05:42
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- 確定申告 個人の確定申告。「医療費のお知らせ」記載内容と医療費控除の明細書【内訳書】に記入する内容の関係 4 2023/03/04 18:41
- 数学 登録番号と年月日と時間から作成した数字列を出来る限り小さくする方法 7 2022/06/03 16:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
エクセルで既に入力してある文...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで時間の判定をしてい...
-
入力したところまでを自動的に...
-
エクセルの数式がかぶって、選...
-
空白でないセルの値を返す方法...
-
Excelでセルに入力されたカラー...
-
エクセルで、特定のセルの内容...
-
エクセルで、同じ数値を一気に...
-
Excel:文字と数字の組合せ、次...
-
値を入力後、自動的にアクティ...
-
yyyy/mm/ddからyyyy/mmへの変換
-
【Excel】セル内の時間帯が特定...
-
Excel書式設定が24時間以上の設...
-
エクセルで10分ごとの時刻の...
-
エクセルの数式で計算結果に文...
-
バーコードが読み取れない原因...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
参照先セルに値が入っていない...
-
IF関数で0より大きい数値が入力...
-
エクセルで既に入力してある文...
-
Excel:文字と数字の組合せ、次...
-
空白でないセルの値を返す方法...
-
値を入力後、自動的にアクティ...
-
エクセルで時間の判定をしてい...
-
yyyy/mm/ddからyyyy/mmへの変換
-
Excelでセルに入力されたカラー...
-
エクセルの数式がかぶって、選...
-
エクセルで、特定のセルの内容...
-
エクセルで複数の条件で掛け算...
-
マイナス同士の前年比
-
入力したところまでを自動的に...
-
EXCELのセル上のURLを...
-
excel 関数にて文字を0として認...
-
バーコードが読み取れない原因...
-
ExcelVBAでセルを編集状態にす...
おすすめ情報
この数字を出すこういう方法もあると手元の資料に書いてありました。
結果的に同じ数字がでるはずですが、こういうやり方もあるようです。
こちらの方が計算式は出しやすいでしょうか?
1. 年(西暦)と月の交わる数字を下記の表から探す
2. 該当する数字と(誕生日の)日にちを足し合わせたものが求めたい数字となる
ただし、
・出てきた数字が260より大きくなる場合は260を引く
・うるう年生まれの3月1日〜3月31日の人は算出した数字に「1」を足す
(例)1916年3月1日→231+1(日にち)+1(うるう年分)=233
どうぞ宜しくお願い致します。