おせわになります。
セルに文字列が入っていて、その中の決まった場所の数字が年月の数値なのですが、これと今日の月が正しいかを比較して、違っていれば条件付き書式で赤字になるようにしたいのですが。
例えば7月の場合、B10にAX227Z123というように 左端から3つ目から3桁が年月になっているのですが、10、11,12月になると10月の場合、左から3つ目から4桁AZ2210S98が年月になってしまいます。
このような場合の条件付き書式で当月と違った場合赤字になるような式を教えて頂きたく。
No.2ベストアンサー
- 回答日時:
条件付き書式の条件式を
=IFERROR(MID(A1,3,4)*1,MID(A1,3,3)*1)<>TEXT(TODAY(),"yym")*1
とかではどうでしょうか?
No.15
- 回答日時:
A1の条件付き書式の数式
=1*IF(ISNUMBER(1*MID(A1,6,1)),MID(B20,5,2),MID(A1,5,1))=MONTH(TODAY())
No.14
- 回答日時:
No.9です。
> =today()が10~12月は2でないと不味いのでは?
今日の月は、以下で求まります(No.1に書いています)。
MONTH(TODAY())
No.13
- 回答日時:
こ…これでどうでしょうか(汗)
ワークシート変更イベントです
B列の10行目以降に変更が有ったらZZ列に日付の1日をセットします
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = Columns("B").Column And Target.Row >= 10 Then
Cells(Target.Row, "ZZ").Value = GetYM(Target.Value)
End If
End Sub
Function GetYM(strTarget As String) As String
Dim RE As Object
Set RE = CreateObject("VBScript.RegExp")
Dim result As Object
GetYM = ""
With RE
.Global = False
.Pattern = "[A-Z]{2}([0-9]{2})([0-9]+)[A-Z]"
Set result = .Execute(strTarget)
End With
If result.Count > 0 Then
GetYM = "20" & result(0).SubMatches(0) & "/" & result(0).SubMatches(1) & "/1"
End If
End Function
すみません!!!
折角なのでこのコードも試してみて結果報告してから閉め切ろうとしたら、今週は時間が無いので検証が先延ばしになるのですが、追加でのご回答が続いています。
本件、chonamiさんのご回答で解決出来ていますので、これ以上の手間は後続の回答者様に失礼だと思いますので一旦締め切らせていただきます。
折角のご回答の結果報告が出来ない事申し訳ありませんがご了承ください。
No.12
- 回答日時:
>LEFT(C6,3)
これは対象セルの左から3文字抜き出すということですからAZ227YC001だと「AZ2」となります。日付の「227」などとは絶対に合致しないのでどちらもTRUEとなり結果として何を入れても色はつかないということになりますね。
ところで、私が提示した式はセルを何に変更していて、適用先はどこからどこの範囲にしているのでしょう?
再度TRYしてみたら228にするとチャンと赤字になりました。
先ほどはどこが間違ったのかわかりませんが・・・
条件付き書式は長い式は非常に入力、特に編集しにくいですね。
言い訳ですが。。。
何度もご丁寧な対応ありがとうございました。
式を入力した後、OKするとアチコチに””が付いてしまうのは何とかならないものか!?
あっ、先ほどの不具合はこれも、適用セルも範囲もちゃんと修正して確認していますので、原因ではありません。
恐らく式の入力ミスだと思います。
お手数をお掛けしてしまいました。
後は今日が10月になるのを待ちます。(大丈夫でしょう!)
No.11
- 回答日時:
説明が書かれていなくて申し訳ありませんでした。
所定の文字(AX227Z123)からアルファベットとアルファベットの間の数字をくり抜く処理です
Cells(lRow, "B").Offset(0, 1)の所が出力先になります。
Cells(lRow, "ZZ")※ZZは出力する列アドレスに変更して頂いてもよろしいですか?
マクロの実行方法はALT+F8で該当の(test)マクロを実行して頂ければ出来ると思います。セルチェンジイベントにしなくても大丈夫だと思います
No.10
- 回答日時:
ちなみに、IFERRORの式だけでセルで試してもらうと分かると思いますが、文字列に1を掛けて数値化しようとするとエラーになるのを利用し、コードの頭3文字目から4文字抜き出して数値化、それでエラーなら3文字抜き出して数値化するようにしていますので、抜き出しに関しては問題ないと思います。
検証不足ですみません。
では少し時間を頂いて再度Tryしてみます。
私も無い知恵を絞って、セルから3桁抜いてtoday()と4桁抜いてtoday()と比較して、どちらも合わない場合は赤字、で下記を試してみましたがうまく行きません。
=AND(LEFT(C6,3)<>TXT(TODAY(),"ym"),LEFT(C6,4)<>TEXT(TODAY(),"ym"))
どこか間違っているのでしょうね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの日付から年末尾2桁と月を1月をA~Lに変換したい 3 2022/08/08 10:32
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/04/21 08:59
- Excel(エクセル) エクセルで●●年にかかわりなく、任意の月日期間内にあるか?調べるには? 2 2022/05/25 10:39
- その他(Microsoft Office) googleスプレットシートで左右の数値を比較して色判別させたい 2 2022/06/06 18:33
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/10 08:51
- Excel(エクセル) 現時点の年齢を算出して、その年齢と一致したセルを色付けしたい。 4 2022/06/23 17:49
- Excel(エクセル) エクセル シート比較で書式を変えるを繰り返したい 2 2023/05/05 11:25
- Excel(エクセル) エクセルで文字列と数字が混在する列に書式設定したい。 3 2022/12/19 09:11
- Excel(エクセル) マクロ、条件付き書式のfont.color 1 2023/03/28 01:10
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで全角の数字が半角になっ...
-
エクセルのセル内に全角数字を...
-
エクセルで文字列としての指数...
-
エクセルで文字入力してEnterキ...
-
エクセルのセルや文字を点滅表...
-
EXCELで勝手に予測入力される
-
WORD2010 差し込み印刷の時間...
-
EXCEL セルの書式設定(ユーザー...
-
エクセルの入力規則で半角英数...
-
【Excel】セルの書式設定で標準...
-
EXCELで特定の文字列を入力→エ...
-
Excelで時間順で並べ替えしたい
-
平方センチメートルの入力の仕方
-
エクセルで自動的にイコール(...
-
エクセル関数で在庫数の増減を...
-
エクセルで(1)を入力すると...
-
エクセルでの秒未満の入力
-
Excelで【1-1】【1-2】【1-3】...
-
Accessのフォーム上のテキスト...
-
セルに数字を入れると×1000にな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセル内に全角数字を...
-
Excelで全角の数字が半角になっ...
-
エクセルで文字入力してEnterキ...
-
エクセルのセルや文字を点滅表...
-
エクセルで文字列としての指数...
-
Excelで時間順で並べ替えしたい
-
EXCELで勝手に予測入力される
-
セルに数字を入れると×1000にな...
-
Excelで【1-1】【1-2】【1-3】...
-
エクセルで時間入力10:30の:...
-
エクセルで自動的にイコール(...
-
エクセルで【0.5日と1日】を表...
-
エクセルの「○分○秒」の表示形...
-
WORD2010 差し込み印刷の時間...
-
平方センチメートルの入力の仕方
-
入力規則でスペース入力を禁止...
-
EXCELで特定の文字列を入力→エ...
-
コクヨのリーフ仕入帳等にパソ...
-
Accessのフォーム上のテキスト...
-
関数CONCATENATEの表示で
おすすめ情報