
既に過去例があるかもしれませんが見つけられず投稿します。よろしくお願いします。
たとえば、
2つのセルR1C1、R1C2があって、各々に数式が入っているとします。
この2つの数式自体が一致しているか否かを判定するにはどうすればよいのでしょうか?
ちなみに、
=IF (R1C1=R1C2,"○","×")
という条件式だと、数式の比較ではなくR1C1、R1C2に入っている数値(計算式に基づいた計算結果)の比較を行ってしまいます(当たり前だと思いますが)。
数値の比較ではなく、数式の比較をしたいのですが、どうすればいいのでしょうか?
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
#2です。
参考までに。また質問に対する、疑問の追加をします。
関数では不可能なんですが、ユーザー定義関数を作ると式が、出せます。
VBEの標準モジュールに
If a.HasFormula Then
siki = a.FormulaLocal
Else
siki = ""
End If
End Function
を貼り付け
たとえばB1に=A1+A2と式が入っているとして
どこかの空きセルに=SIKI(B1)とすると
=A1+A2が入ります
A6に=SUM(A1:A5)があれば=SIKI(A6)と入れると
=SUM(A1:A5)
となります。
-----
ただし
>数式自体が一致しているか
についてそう簡単ではないのではないですか。
(1)完全一致
たとえば両セルの式が=A1+A2
(2)パターンが一致
=SUM(A1:A5)と=SUM(C1:C5)
(1)は式を複写したセルは普通は番地(の一部)が変わるので、同じケース(2つのセル)は経験上あまり起こらない。
(2)は一番外枠の関数は同じでも、ネスとした関数が別なども考えられるので、同じかどうかは、判定解析が、プログラムを組む上で難物であると思う。
同じ様式の2つのシートの式を、誤って変えていないかののケースのチェックぐらいしか、現実問題は思いつかないのですが。
具体例はどんなものですか。
No.4
- 回答日時:
少々面倒ですが、以下の方法ではいかがでしょうか。
当該シートで、
「ツール」→「オプション」の
「表示」タブで、「数式」にチェックを入れる。
「全般」タブで、「R1C1 参照形式を使用する」にチェックを入れる。
「ファイル」→「名前を付けて保存..」で「テキスト(タブ区切り)(*.txt)」で保存する。
保存したファイルを改めてExcelから開く。この時、「テキスト ファイル ウイザード」で、(比較したいセルの入った)「列のデータ形式」を「文字列」にする。
No.3
- 回答日時:
こんにちは。
Ctrl を押しながら、Shift キーを押して @ で、
目視で比較したらいかがですか?
同じ式といっても、R1C1 方式だとは思いますが。
そうでないのでしたら、単に文字列比較ですが、セルポインターを、R1C3 に置き、
[挿入]-[名前]-[定義]
「名前の定義」ダイアログボックスで、
名前(W)
「siki1」 (任意)
参照範囲
「=GET.FORMULA(!RC[-2])& LEFT(NOW(),0)」
「追加」
名前(W)
「siki2」 (任意)
参照範囲
「=GET.FORMULA(!RC[-1])& LEFT(NOW(),0)」
「追加」
ただしく入ったか、確認してから、
「OK」
R1C3 に
=IF(siki1 = siki2, "○", "×")
入れ、後は、フィルハンドルで、ドラッグコピーします。
No.2
- 回答日時:
関数式は式の「値」を問題にするものです。
CELL関数以外は、値しか問題(代入・比較・演算など)にできません。それとそのセルに別の式を設定すると、もとの式はこわれてしまいます。
そのため関数で2つのセルの式の形の比較はできないと思います。
エクセルは当セルに式の表示はしてくれますので、目で見て比べろというのが、主義でしょう。
(1)VBAだと、範囲に式があるかはIf (Range).HasFomula Then で聞ける(HasFormulaプロパティがあり)、
(2)関数式を知るには
FormulaLocal
FormulaR1C1、
FormulaR1C1Local
がありますので、比較できます。
(3)プログラムするとき、2つのセルをどう指定させる(取り込むか)が
難しく、Inputboxなどで聞いていると、スムーズな自動化にならない。
Sheet1とSheet2が同じ位置のセルは、同じ式が入っているはず
とかの問題なら、10行内外の簡単なVBAコードで済みます。
何がしたいかという点を勘案して、よく考えてみてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 高校 方程式の証明 5 2022/05/12 09:29
- Excel(エクセル) エクセル シート比較で書式を変えるを繰り返したい 2 2023/05/05 11:25
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
- Visual Basic(VBA) セルの値からファイルを複数作りたい2 3 2022/10/07 15:54
- Excel(エクセル) Excelについて質問があります。 関数の数値入力についてなのですが、 b1にー c1に数値 がある 1 2023/05/28 12:13
- Excel(エクセル) セルの値からファイルを複数作りたい 2 2022/10/06 12:42
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルでセルの文字列から年月を抜き出して今日の日付と比較したい 15 2022/07/29 14:39
このQ&Aを見た人はこんなQ&Aも見ています
-
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
エクセル関数で日付かどうかの確認?
Excel(エクセル)
-
-
4
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
5
Excelで隠れてしまった図やテキストボックスを探す方法
Excel(エクセル)
-
6
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
7
リストと一致する値のセルを塗りつぶしたい。
その他(Microsoft Office)
-
8
【Excel】 SUMPRODUCT関数の高速化
Excel(エクセル)
-
9
IF関数で空欄(")の時、Nullにしたい
その他(Microsoft Office)
-
10
PowerShellを使って関連付けられたアプリケーションでファイルを開く時のエラー
Excel(エクセル)
-
11
DoEventsがやはり分からない
Visual Basic(VBA)
-
12
Application.Runエラー(1004)
Excel(エクセル)
-
13
日付の照合でFALSEになります。
Excel(エクセル)
-
14
エクセルVBA 作業後に選択範囲を解除する方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
excelの特定のセルの隣のセル指...
-
エクセルで指定したセルのどれ...
-
複数のセルのいずれかに数字が...
-
エクセルの一つのセルに複数の...
-
Excel 例A(1+9) のように番地の...
-
数式を残したまま、別のセルに...
-
Excelで住所を2つ(町名迄と番...
-
エクセルのセルの枠を超えて文...
-
貼り付けで複数セルに貼り付けたい
-
【Excel】 セルの色での判断は...
-
エクセルで住所と建物名を分け...
-
エクセルのセル交点に丸印をつ...
-
Excel データ入力に応じて自動...
-
Excelの関数で、性別が男なら『...
-
エクセル オートフィルタで絞...
-
エクセルで、複数の参照範囲を...
-
EXCEL VBA セルに既に入...
-
対象セル内(複数)が埋まった...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
枠に収まらない文字を非表示に...
-
エクセルの書式設定の表示形式...
-
数式を残したまま、別のセルに...
-
【エクセル】IF関数 Aまたは...
-
セルをクリック⇒そのセルに入力...
-
(Excel)数字記入セルの数値の後...
-
Excelで、「特定のセル」に入力...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
エクセルの一つのセルに複数の...
-
【Excel】 セルの色での判断は...
-
Excelで数式内の文字色を一部だ...
-
エクセルのセルの枠を超えて文...
-
エクセル オートフィルタで絞...
-
Excelでのコメント表示位置
-
連続しないセルから最小値を引...
おすすめ情報