[[20211129123421]] 『車輌の車検、点検を自動表示させる表を作りたい』(お正月) >>BOT

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『車輌の車検、点検を自動表示させる表を作りたい』(お正月)

お尋ねいたします。
車輌の車検、点検を自動表示させる表を作りたいと考えています。
以下のように、C7:C9までを手入力します。
C10はC7:C9までの情報をもとに関数で算出したいです。
その際、C8で2を選択した場合は、初回車検は3年後、その後は2年後として算出させたいです。1を選択の場合は毎年車検となります。
これらをもとに、C11:C22のセルに「車検」、「3ヶ月点検」又は「6ヶ月点検」又は「12ヶ月点検」と表示させたいというものです。
その際、C10の車検日とB列の日付は合致しないので、年月で判断させて、表示させたいです。
なお、B11:B22には月を算出させています。以下のようになります。

B2=西暦(「2021」数字で入力)
C7=初年度登録日(「2021/11/29」のように入力)
C8=車検サイクル(1か2をリストから選択)
C9=点検サイクル(3か6か12をリストから選択
C10=車検日

B11=DATE(B2,4,1) 表示は「4月」

B22=DATE(B2+1,3,1) 表示は「3月」

よろしくお願いいたします。

< 使用 Excel:Excel2019、使用 OS:Windows10 >


 点検の方だけ。
 C11セルに
 =IF(EOMONTH(C$7,C$9-1)<B11,IF(MOD(MONTH(B11)-MONTH(C$7),C$9),"",C$9&"ヶ月点検"),"")
 ではどうだろうか?
(ねむねむ) 2021/11/29(月) 14:04

ねむねむさん、ありがとうございます。
ねむねむさんにお示しいただいた数式に、「車検」の数式を以下のように加えてみたのですが、いかがでしょうか?

C11=IF(DATE(YEAR($C$10),MONTH($C$10),1)=$B11,"車検",IF(EOMONTH(C$7,C$9-1)<B11,IF(MOD(MONTH(B11)-MONTH(C$7),C$9),"",C$9&"ヶ月点検"),""))

ただ、C10の車検日、特に初回の車検なのか2回目以降なのかを関数で判断させることは可能でしょうか?
よろしくお願いいたします。
(お正月) 2021/11/29(月) 16:34


以下のようにC10の車検日の関数を考えてみましたが、思う結果が出ません。
B2を基準として、C7の登録日から、車検サイクルが1の場合は毎年、2の場合であれば、初回車検は3年後、それ以降は2年後の日付を導きたいのです。
ご教授のほど、よろしくお願いいたします。

例えば、、、
B2=2024
C7=2021/11/30
C8=2
C10=2024/11/30

B2=2025
C7=2021/11/30
C8=2
C10=2026/11/30

C10=IF(C8=1,DATE(B2,MONTH(C7),DAY(C7)),IF(AND(C8=2,B2-YEAR(C7)<3),DATE(YEAR(C7)+3,MONTH(C7),DAY(C7)),IF(AND(C8=2,B2-YEAR(C7)>=3),DATE(YEAR(C7)+2,MONTH(C7),DAY(C7)),"")))
(お正月) 2021/11/30(火) 07:18


 =DATE(IF(C8<2,B2,IF(SUM(YEAR(C7),3)>=B2,SUM(YEAR(C7),3),SUM(B2,ISEVEN(B2-YEAR(C7))))),MONTH(C7),DAY(C7))

C8=1の場合、登録年中は登録日のままになります。
(きまぐれおじさん) 2021/11/30(火) 13:45


きまぐれおじさん、ありがとうございます。
早速、試してみたところ、車検サイクルが1で、年度末が車検の場合は、このような結果となりましたが、私としては以下のような結果にしたいです。
あくまで、年度で考えていますので、2022年度時点での車検日を求めたいのですが、以下だと、2021年度の車検日となってしまっているため、2022年度4月以降の車検日を算出させたいのです。
ちなみに、C8=2の場合は、年度末の車検日を表示してくれます。
どうぞよろしくお願いいたします。

<きまぐれおじさんからご提示いただいた数式による結果>
B2=2022
C7=2015/3/26
C8=1
C10=2022/3/26

<私が求める結果>
B2=2022
C7=2015/3/26
C8=1
C10=2023/3/26
(お正月) 2021/11/30(火) 14:19


追伸
やはり、C8=2の場合も同様となってしまいました。
B2=2023 ←2023年度
C7=2023/3/14
C8=2
C10=2023/3/26 ←2022年度

C10=2025/3/26 ←このように算出したい
(お正月) 2021/11/30(火) 14:24


4月年度基準とはどこにも書いていなかったので当然考慮していません。
情報の小出し後出しは回答側の徒労になるのでやめましょう。
(きまぐれおじさん) 2021/11/30(火) 14:32

すみません。説明不足でした。
(お正月) 2021/11/30(火) 14:33

年度基準となると、どのように修正すれば可能になるでしょうか?
ご提示いただいたものもあと少しで希望どおりの結果となるのですが。
説明不足で申し訳ありませんでした。
(お正月) 2021/11/30(火) 14:36

 もう少しと思われるのであれば、お正月さんにとって簡単なのでしょうから是非チャレンジしてみてください。
 単純な話、C7の月が3以下であれば年に+1するだけなので。
 ifの条件が1つ増えるだけですよ。
(.:*.ゆ ゅ) 2021/11/30(火) 14:41

どこに+1すればよいのか分からず、、、
(お正月) 2021/11/30(火) 14:58

 =EDATE(C7,12*(IF(C8<2,B2,IF(YEAR(C7)+3>=B2,YEAR(C7)+3,B2+ISEVEN(B2-YEAR(C7)+(MONTH(C7)<4)))-YEAR(C7)+(MONTH(C7)<4))))

うるう年の2/29を2/28にする場合の別案(いちおう4月年度対応)です。
(きまぐれおじさん) 2021/11/30(火) 15:33


きまぐれおじさん、ありがとうございます。
早速、試してみたところ、以下のようにC10が4042年となってしまいました…

B2=2022
C7=2020/5/28
C8=1
C10=4042/5/26
(お正月) 2021/11/30(火) 16:09


 =EDATE(C7,12*(IF(C8<2,B2,IF(YEAR(C7)+3>=B2,YEAR(C7)+3,B2+ISEVEN(B2-YEAR(C7)+(MONTH(C7)<4))))-YEAR(C7)+(MONTH(C7)<4)))

括弧が1つずれていましたね。すみません。
(きまぐれおじさん) 2021/11/30(火) 16:25


きまぐれおじさん、おはようございます。
昨日16:25にご提示いただいた数式にて試してみたところ、実際の車検日と異なる箇所がありました。
以下の内容ですと、2016年度時点での車検日は、「2020/2/24」のところが以下の結果となってしまいます。C8=2の場合は、1年多く計算されているようです。

B2=2016
C7=2017/2/24
C8=2
C10=2021/2/24
(お正月) 2021/12/01(水) 07:01


 =IF(B2<YEAR(C7)-(MONTH(C7)<4),"",EDATE(C7,12*(IF(C8<2,B2,IF(YEAR(C7)+3>=B2,3+YEAR(C7)-(MONTH(C7)<4),B2+ISEVEN(B2-YEAR(C7)+(MONTH(C7)<4))))-YEAR(C7)+(MONTH(C7)<4))))

おはようございます。
ご指摘のエラーの是正、また、
B2に初年度登録前の年度を記入したときに日付を記入しないようにしました。
(きまぐれおじさん) 2021/12/01(水) 08:34


きまぐれおじさん、ありがとうございます。
早速試してみたところ、以下のようになりました。
登録日は2016年度ですので、B2=2016〜2019の場合は、C10=2020/2/24でOKなのですが、
B2=2020にした場合は、C10=2022/2/24となるべきところが、以下のままです。
B2=2021にした場合にようやく、C10=2022/2/24に変わります。
よろしくお願いします。
(お正月) 2021/12/01(水) 10:42

 =IF(B2<YEAR(C7)-(MONTH(C7)<4),"",EDATE(C7,12*(MAX(CEILING(DATEDIF(C7,MAX(C7,DATE(B2,4,0)),"Y"),2)+1,3))))

数式を見直しました
(きまぐれおじさん) 2021/12/01(水) 11:46


 =IF(B2<YEAR(C7)-(MONTH(C7)<4),"",EDATE(C7,12*(IF(C8<2,B2-YEAR(C7)+(MONTH(C7)<4),MAX(CEILING(DATEDIF(C7,MAX(C7,DATE(B2,4,0)),"Y"),2)+1,3)))))

失礼、C8<2の場合のパターンが抜け落ちました。
(きまぐれおじさん) 2021/12/01(水) 11:50


きまぐれおじさん、ご返事が遅くなってしまい、申し訳ありません。
2021/12/01(水) 11:50にお示しいただいた数式で試したところ、思い通りの結果となりました。
ありがとうございました。
(お正月) 2021/12/03(金) 07:00

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.