こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【エクセル】セルの情報

エクセルで、セルの内容が「数値」か、「数式あるいは関数」かを返す関数ないし方法があれば、教えてください。
TYPE, ISTEXTなどのヘルプを見たのですが、そのような機能はないようです。
(同じく「数値」として返されます)
具体的には、

単なる数値の「100」などが入力されていれば「TRUE(FALSE)」を返す、
他のセルからの参照(=A1*A2など)であれば「FALSE(TRUE)」を返す、

というようなことをしたいのですが。

投稿日時 - 2005-01-06 14:15:07

QNo.1155081

困ってます

質問者が選んだベストアンサー

こんばんは。

VBAなら、HasFormulaプロパティを使えば判定できます。

たとえば検査対象範囲が C2:C30で、結果をD列に表示させるには、
↓を実行してください。
-----------------------------------------
Sub test()
Dim i As Integer

For i = 2 To 30
If Cells(i, 3).HasFormula Then
Cells(i, 4) = "TRUE"

Else
Cells(i, 4) = "FALSE"

End If
Next i

End Sub
-----------------------------------------

VBAを使わずに判定する方法をネットで探したところ、
↓のようなやり方がありました。
なぜできるのかはわかりません^^;
とりあえずEXCEL2000でも2003でもできました。
-----------------------------------------------
結果を返したいD2セルをアクティブにして、メニュー〔挿入〕-〔名前〕-〔定義〕
  ↓
「名前」欄に適当な名前を入力(例:formula)
  ↓
いちばん下の「参照範囲」欄に次のように入力してOK
=GET.CELL(48、!C2)+NOW()*0
  ↓
D2セルに =formula と入力して、以下オートフィルでコピー
  ↓
C列のセルが数式なら"1"、それ以外なら"0"が返ります。
------------------------------------------------
↑はEXCEL4.0マクロだそうです。
ファイルを開くときにはマクロ警告メッセージが表示されます。

投稿日時 - 2005-01-06 17:50:06

お礼

ありがとうございます!!!シート内で処理したかったので、2番目の方法でバッチリうまくいきました。私にもなぜできるのかまったく分かりませんが(^^)
感謝、感謝です。

投稿日時 - 2005-01-06 18:55:59

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問