• ベストアンサー

エクセルで日付の3文字を数字と比較したい

エクセルでB16に入力された数字の左の4桁が日付の頭4桁とあっているかを下記の関数でチェックしているのですが、今回年の下1桁+月2桁と入力された数字の整合性を確認できるようにしたいのです。 例えば2019年11月20日なら入力された数字の頭の3つが911****であるかを確認する式がわかりません。 ymmではだめなので、TEXT(TODAY(),"yymm"))の右から3つを取りたいのですが度もうまくいかないのでお知恵を拝借したく。 よろしくお願いします。 =LEFT(B16,4)<>TEXT(TODAY(),"yymm"))

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.1

右から3つなら RIGHT(TEXT(TODAY(),"yymm"),3) ですが, こちらは左から4つとってますが右から3つでいいんですよね。 LEFT(B16,4)

akira0723
質問者

お礼

早々のご回答ありがとうございます。 投稿の後試行錯誤していたらMIDでもRIGHTでもできました。 なぜ最初はできなかったのか???ですが。 自己解決で取り消そうとしたらすでにご回答がありました。 お手数おかけしました。

その他の回答 (3)

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.4

B16に入っている数字が示されていないので解りにくいです。 現在は左の4ケタでチェックしていると言う事は、B16に入っているのは 頭の4ケタがyymmで始まっていると考えていいですね? 例:1911201322 で、あればこれでどうでしょう =MID(B16,2,3)<>MID(TEXT(TODAY(),"YYMM"),2,3)

akira0723
質問者

お礼

早々のご回答ありがとうございます。 投稿の後試行錯誤していたらMIDでもRIGHTでもできました。 なぜ最初はできなかったのか???ですが。 自己解決で取り消そうとしたらすでにご回答がありました。 お手数おかけしました。

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.3

=MID(TEXT(TODAY(),"yyyymm"),4,3) でいかがでしょうか。 なお、 今日が2019年8月なら結果は908になりますが それが期待値ですね?

akira0723
質問者

お礼

いつもお世話になっております。 早々のご回答ありがとうございます。 実は投稿の後試行錯誤していたらMIDでもRIGHTでもできました。 なぜ最初はできなかったのか???ですが。 自己解決で取り消そうとしたらすでにご回答がありました。 お手数おかけしました。 BSは最初にご回答いただいた#No1さんにさせていただきます。

akira0723
質問者

補足

その通りです。 製造日付がLOT Noになっていることが多く、例えば最初の6つとか4つが201911、1911と年月の後に品種Noや連番で付与されることが多く、今回は頭の3つが911のケースでした。 最初の数回の試行錯誤でうまくいかなかったので聞いてしまいました。(反省!)

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

No1の蛇足です B16が 191119 とかでしたら MID(B16,2,3) で 911 が取り出せます。

akira0723
質問者

お礼

早々のご回答ありがとうございます。 投稿の後試行錯誤していたらMIDでもRIGHTでもできました。 なぜ最初はできなかったのか???ですが。 自己解決で取り消そうとしたらすでにご回答がありました。 お手数おかけしました。