- 締切済み
エクセルでおしえてください
シート1のA1~A3の合計を、B1にSUM関数で計算させてます。シート2のB1にシート1のB1に関数が入力されていれば1、関数以外の文字や数字が直接入力されている時には0を表示させるにはどうすればいいのでしょうか?。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- spar
- ベストアンサー率46% (35/75)
可能です、が、できればご自身で調べて本当に解らなくなった時にご質問を頂ければ、それこそ身に付くものだと思いますよ また問題に直面した時は調べてみましょ! Sub Kansuu() For i = 1 To 10 If Left(Sheet1.Cells(i, 1).Formula, 1) = "=" Then MsgBox "A" & i & "関数は・・・" & Sheet1.Cells(i, 1).Formula Else MsgBox "A" & i & "に関数なし" End If Next i End Sub ここから拡張するのでしたら是非、頑張って解決してみて下さい!!
- spar
- ベストアンサー率46% (35/75)
ちょっと探してみましたが、#1さんおおっしゃるとおり、簡単に当てはまるものはありませんでした もしVBAがお分かりであれば表面的にはこれでいいとは思います ただ左の1文字が『=』だったらという狭い判定なので、あくまで参考として下さい 標準モジュールを挿入してもらい Function ViewFormula(objCell As Range) As String ViewFormula = objCell.Formula End Function を貼り付けて、Sheet2のB1に =IF(LEFT(ViewFormula(Sheet1!B1),1)="=",1,0) を貼り付けてもらえれば、とりあえず出ます 他の方法もありますが、結局はVBAになるのかなと・・・私のレベルではこれでいっぱいいっぱいでした
補足
ありがとうございます。逆に、シート1のA1からA10までに関数を入れていたとして、A5だけ関数を削除してしまった場合、それを判断できるVBAは作る事は可能なのでしょうか?
- imogasi
- ベストアンサー率27% (4737/17070)
こともなげに質問するが、関数で、(1)あるセルに数式が入力されているか、(2)ストレートに値が入力されているか (1)を判別する関数はない。 そもそも関数はセルの値だけを問題にして、数式でそう言う値になっているかなどを問題にしない仕組みのものであって、そのため関数で求めた値を他のセルでまた関数の引数に使えるという、大メリットがあるのです。 VBAでも使えばセルに式が入っているか判別できるが回答者のレベルは(HasFormulaでWEB照会のこと) http://www.geocities.jp/dgscs970/_homepage2/jiten/Jiten3.html の中程など多数。
お礼
ありがとうございます。一度挑戦します。一度は、自分でVBAに挑戦したのですが、ちんぷんかんぷんで。すみませんでした。