プロが教えるわが家の防犯対策術!

お世話になります。

A列に日付を元にした文字列が入力されているのですが、この文字列とtoday()の年月を比較して、相違していれば条件付き書式で赤斜体文字にアラートを出すようにしたいのですが、月がAからのアルファベットに変換されています。

例えば2022/8/8の場合、文字列は*22H***となっています。
この文字列から=MID(セル,2,3)と=today()を比較して判定したいのです。

A 回答 (3件)

こんにちは



どのような変換規則なのかよくわかりませんけれど・・

「月」が必ず1文字に対応しているのであれば、
 =TEXT(TODAY(),"yy")&MID("ABCDEFGHIJKL",MONTH(TODAY()),1)
とすることで「22H」を得られますので、これと比較すれば良いのでは?

変換ルールが異なる場合は、「ABCDEFGHIJKL」の部分をそれに応じて変えればよいでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

>MID("ABCDEFGHIJKL",MONTH(TODAY()),1)
は全く思いつきませでした。

非常に参考になりました。

お礼日時:2022/08/08 14:58

セルの書式設定は日付になってますか?


=OR(YEAR($M$4)<>YEAR(TODAY()),MONTH($M$4)<>MONTH(TODAY()))
    • good
    • 0
この回答へのお礼

これは年と月の数字をtoday()の年と月の数字の整合性を確認しているのではないでしょうか?

M4セルの文字列の月がA-Lに変換されている場合の質問です。
当方の勘違いなら失礼!

お礼日時:2022/08/08 11:55

ええと...。


 A 1月
 B 2月
 C 3月

 D 4月
 E 5月
 F 6月

 G 7月
 H 8月
 J 9月

 K 10月
 L 11月
 M 12月
……でしょうか。
”I” は ”1” と見誤ることがあるので使われないのが一般的ですので、
アルファベットに ”I” を含んでいないと想定して回答します。

自分なら、CHOOSE関数か、INDEX関数で、数字(月)をアルファベット
に変換します。
質問文にはMID関数が使われているので、それに合わせてMID関数でも良いんですけどね。
対応する状態をあとから修正することは無いと思うので、対応表を作ってVLOOKUP関数などで参照するようなことはしなくて良いと思います。
「年」はTEXT関数で2桁の数字に変換すれば良いと思います。
 TEXT(TODAY(),"yy")
でOK。


・・・余談・・・

アルファベットに ”I” を含んでいるのであれば、もっと簡単。
月の数字をそのまま使ってCHAR関数で数値を文字に指定することができます。
 CHAR(64+月の数字)
これでOK。
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございました。
当方も最初はVLOOKUPで、と思ったのですがこのケースは世の中でかなり使われているのでは?と思い質問させて頂きました。

この文字列は顧客様が決めているので9月がIかどうかはわかりませんがその注釈が無いので恐らく9月はIとして、CHAR(64+月数)で何とか解決出来ました。

・・・余談・・・
製造年月の表示で、10、11、12月だけX,Y,Zの場合も有りますよね?
この場合もだいぶ前に CHAR関数で解決したのですが忘れていました。

65番目がAでしたっけ?
多分64を変えたような気が・・・?

お礼日時:2022/08/08 11:27

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

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


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

人気Q&Aランキング