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

Excelについて。

【教えてほしいこと】
セルの中身が、
「関数」か「数値」を『判別』する方法がないでしょうか。
※「関数」の計算結果は「数値」です。
【試したこと】
ISNUMBER:「関数」の計算結果が「数値」のため、どちらも『同じく』TRUEを返してしまう。
ISTEXT:「関数」も「数値」も文字以外と判定され、どちらも『同じく』FALSEを返してしまう。


よろしくお願いします。

●質問者: Hos
●カテゴリ:コンピュータ
✍キーワード:Excel セル 計算 関数
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● Mook
●42ポイント ベストアンサー

マクロですが、ユーザ定義関数で標準モジュールに下記を置いてセルで

=isFormula(A1)

のようにして確認できます。


Function isFormula(r As Range)
 isFormula = r.HasFormula
End Function

http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop...

◎質問者からの返答

便利な関数があるのですね。

解決しました。

ありがとうございます。


2 ● inthegroove
●16ポイント

ツール → オプション → ウィンドウオプションで、

数式にチェックを入れると関数の入ってるセルは結果でなく数式(関数)が表示されます。

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

◎質問者からの返答

「関数」の表示方法ですね。

「目」で判別するには、もってこいですね。

ありがとうございます。


3 ● きゃづみぃ
●38ポイント

数式が入っているかどうかはVBAで「Formula」に値がセットされているかどうかでしか確認できないですね。

http://www.moug.net/tech/exvba/0050098.htm

セルの書式設定なら CELLで調べられますが。

◎質問者からの返答

試してみました。

解決しました。

ありがとうございました。


4 ● koriki-kozou
●10ポイント

Excel(2002) 関数 数式そのものを文字列として取得

http://okwave.jp/qa/q1105123.html

数式がA1にあるとすると、その隣りのB1を選択して、

メニューの[挿入]→[名前]→[定義]で、

[名前]:適当な名前(仮に「数式」とする)

[参照範囲]:「=GET.CELL(6,A1)&LEFT(NOW(),0)」

として[OK]します。

そうしたら、B1に、

=数式

と入力すると、A1に入力されている数式そのものを表示します。

=数式の部分を、例えば下記のようにすると式かどうかの判別ができる

=IF(LEFT(数式,1)="=","数式","値")

GET.CELLはExcelに内蔵されている旧Excel互換機能を使っているため「Excel4.0マクロが1つ以上含まれています」と警告文が出ることがありますが「はい」と答えるとよいです

関連質問


●質問をもっと探す●



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