人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

excelのセル内の計算式を比較する関数についてですが

あるセルとあるセルの計算式が同じかどうかの
チェックをしたいのですが行数が膨大で、ひとつ関数で作成しそれを各行コピーするよう
なイメージを考えていますが、そのような関数ありますか?
計算結果の比較ではなく、計算式そのものの比較です。宜しくお願いいたします。

●質問者: bxd00263
●カテゴリ:コンピュータ
✍キーワード:Excel とある ひとつ イメージ コピー
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● pahoo
●28ポイント

標準関数だけで実現する方法が思いつかなかったので、代替案として、下記のユーザー関数(VBA)を標準モジュールに登録する方法を回答します。

ユーザー関数を追加する手順は「Excelでユーザー定義のワークシート関数を追加する」を参考にしてください。

Function getFormula(obj As Range) As String
 getFormula = obj.Formula
End Function

セルA1とB1の式を比較したいのであれば、比較結果を入れるセルに下記の式を記述してください。

=IF(getFormula(A1)=getFormula(B1),"同じ","違う")

2 ● HALSPECIAL
●27ポイント

VBAのFormulaを使い

標準モジュールに関数を自作します。


Option Explicit

Public Function CompareFormula(ByVal range1 As Range, ByVal range2 As Range) As Boolean
 If range1.Formula = range2.Formula Then
 CompareFormula = True
 Else
 CompareFormula = False
 End If
End Function

ワークシートのセルには、作成した関数を記述します。

=CompareFormula(A1,A2) '引数に、比較するセルを指定します。数式が同じならTrue,異なればFalseを返します



その他、

[ツール]-[オプション]-[表示]タブより[ウィンドウオプション]の[数式]をチェックオンにすると、シート上の数式がすべて目視できます。




Formulaについてはこちらを参考

セルに数式を入力/取得する(Formula/FormulaR1C1プロパティ)


3 ● SALINGER
●20ポイント

関数でExcelの数式を取得するために4.0マクロ関数を使います。

比較するセルをA列とB列、結果をC列とした場合。


1 C1を選択して、メニューの[挿入]→[名前]→[定義]で、名前を「数式1」

参照範囲を「=GET.CELL(6,A1)&LEFT(NOW(),0)」としてOK。


2 C1を選択して、メニューの[挿入]→[名前]→[定義]で、名前を「数式2」

参照範囲を「=GET.CELL(6,B1)&LEFT(NOW(),0)」としてOK。


3 C1の数式を

=IF(数式1=数式2,"TRUE","FALSE")

として、下にコピーすればA列とB列の数式が同じかどうかをC列に表示します。

http://q.hatena.ne.jp/


4 ● Koonies
●21ポイント

ダミー

標準のEXCEL関数のみで実現するのは難しそうなので、マクロです。


Public Function ExactFomula(rngX As Range, rngY As Range) As Boolean
 ExactFomula = (rngX.Formula = rngY.Formula)
End Function

ツール→マクロ→VisualBasicでVBEのウィンドウが立ち上がるので

使いたいbook名のところで右クリック→挿入→標準モジュールを選択すれば

Module1というのが追加されますので、そこに上記のコードをコピーすればOKです。


そしてセルの方で

=ExactFomula(A1,B1)

のようにして使って下さい。


5 ● kn1968
●0ポイント

そんな関数は無い。

http://q.hatena.ne.jp/1244875040


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ