
No.9ベストアンサー
- 回答日時:
大変失礼しました。
回答No8のコード及び添付画像を貼り間違えました。
正しくは以下のコード及び添付画像になります。
■VBAコード
Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 8) As Variant
Dim tar(2) As Object
Set tar(0) = a
Set tar(1) = b
書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = False
Exit Function
End If
For i = 1 To Len(tar(0))
For j = 0 To 1
With tar(j).Characters(Start:=i, Length:=1).Font
para(j, 0) = .Color '文字色
para(j, 1) = .Size '大きさ
para(j, 2) = .Italic '斜体
para(j, 3) = .Bold '太字
para(j, 4) = .Strikethrough '取り消し線
para(j, 5) = .Subscript '下付き
para(j, 6) = .Superscript '上付き
para(j, 7) = .Underline '下線
End With
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit Function
End If
Next j
Next i
End Function

No.8
- 回答日時:
追記です。
質問内容ではB列に指示事項を記載してC列に表示とありますが
規範のA列と比較する対象のセルが不明です。
以下のコードでは比較対象の文字列をB列に入力するものとしています。
「書式もふくめて~」とありましたので値が一致しない場合に「err」
ではなく、一致していなければFalseを返すようにしています。
また以下のコードでは書式の判定対象を増やしていますが
文字に対する書式であり、セルに対する書式の判定は行っていません。
(セルの背景色や網掛けパターン、罫線の有無、種類等)
■VBAコード
Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 8) As Variant
Dim tar(2) As Object
Set tar(0) = a
Set tar(1) = b
書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = "err"
Exit Function
End If
For i = 1 To Len(tar(0))
For j = 0 To 1
With tar(j).Characters(Start:=i, Length:=1).Font
para(j, 0) = .Color '文字色
para(j, 1) = .Size '大きさ
para(j, 2) = .Italic '斜体
para(j, 3) = .Bold '太字
para(j, 4) = .Strikethrough '取り消し線
para(j, 5) = .Subscript '下付き
para(j, 6) = .Superscript '上付き
para(j, 7) = .Underline '下線
End With
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit Function
End If
Next j
Next i
End Function

No.7
- 回答日時:
回答No.5でmshr1962さんもおっしゃっていますが、
ユーザー定義関数をVBAで作成してみました。
http://officetanaka.net/excel/vba/beginner/10.htm
上記を参考に以下のVBAコードを標準モジュール内に貼り付けてください。
C2セルに「=書式判定(A2,B2)」を入れると
大きさまたは色が違えば「False」、値が違えば「err」、それ以外なら「True」が表示されます。
■以下VBAコード
Function 書式判定(a As Range, b As Range) As Variant
Dim para(2, 2) As Variant
Dim tar(2) As Object
Set tar(0) = a
Set tar(1) = b
書式判定 = True
If tar(0).Value <> tar(1).Value Then
書式判定 = "err"
Exit Function
End If
For i = 1 To Len(tar(0))
For j = 0 To 1
para(j, 0) = tar(j).Characters(Start:=i, Length:=1).Font.ColorIndex
para(j, 1) = tar(j).Characters(Start:=i, Length:=1).Font.Size
Next j
For j = 0 To UBound(para, 2)
If para(0, j) <> para(1, j) Then
書式判定 = False
Exit For
End If
Next j
Next i
End Function

No.6
- 回答日時:
>やはり文字の色など書式の判別は関数では難しいのですかね・・・
他の回答者からCELL関数の提言がありましたが、文字の色や文字の大きさ、背景の色等は対象外です。
CELL("format",A1)については値の表示形式であってセルの書式全般ではありません。
CELL関数の検査の種類("format"等)には他にも検査の種類がありますが、あなたの目的には合わないと思います。
詳しくはCELL関数のヘルプで確認してください。
また、表示形式を変更しても自動再計算では反映されず、手動で再計算を行わないと判定結果が変わらない場合もあります。
ご回答ありがとうございました!関数では実現できないことが分かっただけでもかなり助かりました、ありがとうござました。m(_ _)m
No.5
- 回答日時:
>文字の色など書式の判別は関数では難しいのでしょうか
VBAを利用したユーザー定義関数なら可能ですが。。。
・文字色の色番号を取得する関数
http://veaba.keemoosoft.com/2013/02/550/
No.4
- 回答日時:
=AND(CELL("format",A1)=CELL("format",B1),EXACT(A1,B1))
CELL("format",A1)=CELL("format",B1)で書式のチェック
EXACT(A1,B1)でアルファベットの大文字と小文字の比較も含めた一致・不一致
この二つをANDで比較すれば出来ます。
ご回答ありがとうございます。かなり解決に近づいたと思いましたが、こちらの式でも文字の色や大きさなどを判別して正しい結果を出すことが出来ませんでした・・・やはり文字の色など書式の判別は関数では難しいのでしょうか・・・
No.1
- 回答日時:
こんばんは!
関数によって書式の判断はできないはずです。
C2セルに「TRUE」か「FALSE」を表示させたい!というコトですので、
数式はC2セルにいれます。
C2セルに
=IF(A2=B2,TRUE)
としてみてください。
※ B2セルに入力がない場合何も表示させたくないのであれば
=IF(B2="","",IF(A2=B2,TRUE))
といった感じにしてみてはどうでしょうか?m(_ _)m
ご回答ありがとうございます。やはり文字の色など書式の判別は関数では難しいのですかね・・・いずれにせよありがとうございました。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel質問】 「本日の日付」から指定条件を満たす営業日経過後の日数を表示させる関数式 3 2022/06/06 23:28
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- その他(Microsoft Office) EXCELのセルへの色づけ 2 2023/06/07 01:22
- Excel(エクセル) 条件に合った数値の合計を表示させたい関数と条件指定の方法 3 2023/05/13 16:07
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/06/23 15:02
- Excel(エクセル) 条件付書式 Sheet1からSheet2に転記した時の転記ミスを反映させたい 5 2022/05/21 09:52
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) エクセルの祝日に色が反映しない 4 2022/05/18 09:58
- Excel(エクセル) Changeイベントを使用して重複チェックをしたい 2 2023/08/02 11:47
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
いちばん失敗した人決定戦
あなたの「告白」での大失敗を教えてください。
-
最強の防寒、あったか術を教えてください!
とっても寒がりなのですが、冬に皆さんがされている最強の防寒、あったか術が知りたいです!
-
人生でいちばんスベッた瞬間
誰しも、笑いをとろうとして失敗した経験があると思います。
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
Excel countif関数で取り消し線のセルをカウントしないようにしたい countif関数で文
Excel(エクセル)
-
Excel 書式の一致を調べる関数はありますか?
Excel(エクセル)
-
エクセルの取り消し線を検出するコード
Visual Basic(VBA)
-
-
4
Excelのカウント関数に関しての質問です。
Excel(エクセル)
-
5
Excelで上罫線の有無を調べたい
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの条件付き書式を崩された...
-
EXCEL 表の書式のみ変更不可(...
-
excel関数式の一部を太字にする
-
エクセルのピボットテーブルの...
-
エクセルで重複データを行ごと...
-
Excel 書式を関数で判断。
-
excelで選択範囲の反転をしたい...
-
Excel 条件付書式で土日の左・...
-
エクセルで複数列を1列にまと...
-
エクセルで2つのシートで重複し...
-
EXCELにて、整数と小数点を色分...
-
エクセル:一定以上の数値にな...
-
Excel 条件付書式で二つの条件...
-
VBAでシート書式の自動変換を作...
-
エクセルで、書式は変えずに連...
-
エクセルでの日程表で土日に背...
-
EXCEL 条件書式で反応したもの...
-
エクセルで1年前の日付になった...
-
条件付き書式が選択できない?!
-
エクセルでコメントを入れた時...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの条件付き書式を崩された...
-
excel関数式の一部を太字にする
-
Excel 書式を関数で判断。
-
EXCEL 表の書式のみ変更不可(...
-
エクセルのピボットテーブルの...
-
エクセルで重複データを行ごと...
-
エクセルで、書式は変えずに連...
-
excelで選択範囲の反転をしたい...
-
Excel 条件付書式で土日の左・...
-
エクセル:一定以上の数値にな...
-
Excel 条件付書式で二つの条件...
-
VBAでシート書式の自動変換を作...
-
条件付き書式(色変更)は、予...
-
エクセルで2つのシートで重複し...
-
条件付き書式が選択できない?!
-
VBAで転記すると元のシートの条...
-
エクセルで1年前の日付になった...
-
Excel2003 の条件付き書式、「...
-
エクセルで複数列を1列にまと...
-
EXCEL 条件付書式で1つの条件欄...
おすすめ情報