アプリ版:「スタンプのみでお礼する」機能のリリースについて

おせわになります。

セルに文字列が入っていて、その中の決まった場所の数字が年月の数値なのですが、これと今日の月が正しいかを比較して、違っていれば条件付き書式で赤字になるようにしたいのですが。

例えば7月の場合、B10にAX227Z123というように 左端から3つ目から3桁が年月になっているのですが、10、11,12月になると10月の場合、左から3つ目から4桁AZ2210S98が年月になってしまいます。

このような場合の条件付き書式で当月と違った場合赤字になるような式を教えて頂きたく。

A 回答 (15件中11~15件)

>TEXT(TODAY(),"yym"



№2です。よく考えたら「ym」で良かった。

多分、質問者さん側ではどうにもできないコードだから質問されているんだと思いますけどね。
    • good
    • 1
この回答へのお礼

忘れていました。
このような使い方をしたことが無かった(見たことは有った)ので思いつきませんでした。
通常は桁須賀変わるとやっかいなので桁数を

デモ、問題はセルの文字列から抜き出す数字の数はどうすれば良いのでしょう?

お礼日時:2022/07/29 15:42

直接の回答になっていなくてごめんなさいね。


コンピューターと人との関わりを考えて、どこまで人がするか、どこからコンピューターに任せるかという線引きを考えておくのは大事です。

いま、お困りになっているのは、月や日の数字が1桁の数字と2桁の数字が混在すると言うことですね。

一番単純で確実な解決策は、人が日付を入力するときに、月も日も必ず2ケタで入力するように決めておくことです。
例えば、2022年7月29日は、20220729のように一桁の場合に0をつけて二文字にして入力するようにすること。

人間側でしっかりとその処理をして、コンピューター側で8文字の場合のみ入力を受け付けるようにしておくと、月の数字は左側先頭から5文字目と6文字目、日付の数字は右から2文字を取り出せば良いだけ。シンプルになるでしょ。

逆に、ご質問の内容をそのままコンピューターで処理をさせようとすると処理が複雑になってバクが生じたり、いろいろな人がプログラムのメンテナンスをする時に面倒なことになってきます。

もし、現在までに入力している数値が少ないなら、日付の部分だけ入力し直して月や日を2文字で入力するように変更することをお勧めします。
    • good
    • 1
この回答へのお礼

この表記(文字列)はLOT Noとか製造NoとかプロダクトIDというやつで、世の中のあらゆる製品で割り付けられている識別のための文字列で企業が製品毎に決められたルールで割り付けられる文字列なので桁数やら割付を変えることは出来ない文字列です。
10~12月をX,Y,Zで表記する場合もあります。
(これは既に解決しています)

自分で決めるなら当然20220729がいいのですが、表記する限られた文字数で個体を識別するためのいろんな情報を盛り込みたいのでこのようになっています。

お礼日時:2022/07/29 15:31

あ、A1は該当セルに変えてください。

    • good
    • 1
この回答へのお礼

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

早速試してみました。
AZ227YC001
の227を228(22年8月)にしても赤色になりません。

お礼日時:2022/07/29 15:53

条件付き書式の条件式を



=IFERROR(MID(A1,3,4)*1,MID(A1,3,3)*1)<>TEXT(TODAY(),"yym")*1

とかではどうでしょうか?
    • good
    • 1

DATE関数が使えると思います。


DATE(年,月,日)

年月日のそれぞれは、決まった場所の数字ということなので、
MID(セルの文字列,開始位置,2)
で抜き出せばよいです。

今日の月は、以下になります。
MONTH(TODAY())
    • good
    • 1
この回答へのお礼

1.>MID(セルの文字列,開始位置,2)
では抜き出す数字の数が2つになるのでは?
1-9月までは1桁になるので2桁抜いてしまうと質問の
>AX227Z123
の場合は7Zになるのでは?

2.出来れば年2桁+月を条件にしたいのですが。


=TEXT(TODAY(),"yymm")➣4桁
の時と
=TEXT(TODAY(),"yym")➣3桁
の時でMIDで抜き出す桁数が違ってしまうので困っています。

お礼日時:2022/07/29 15:20

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