• 締切済み

Excel関数・数式か?数値・文字直入力か?の判断

Excelの実技テストを作ろうと思っています。 SUM、AVERAGE、IFなどの関数を使いこなせているかという簡単なテストです。 問題は採点にあり、プリントアウトしてしまうと出力された答えが、 関数を利用して算出したものか?(=SUM(A1:A3) など) 数式を入力して算出したものか?(=A1+A2+A3) など 頭で計算して直接数値を入力したものか?( 「10」 など) 判別がつきません。 LEFTで1文字目の”=”を拾って関数であることを判断しようとしても 関数の対象となるのは出力された答えのほうで(=SUM(A1:A3)を検索の対象にできない。) 関数を判断の対象とするには、どのような方法をとったらよいのでしょうか? マクロでも構いません。ご教授願います。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

こんにちは! VBAになってしまいますが、一案です。 ↓の画像のように別Sheetに表を作成しておきます。 今回はSheet2のA列に関数名・B列に塗りつぶしたい色にしています。 ※ A列は必ず文字数の昇順に並べておきます。(←必須です) 画面左下の操作したいSheet見出し上で→クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim c As Range, i As Long, k As Long, str As String, ws As Worksheet Set ws = Worksheets("Sheet2") ActiveSheet.Cells.Interior.ColorIndex = xlNone For Each c In ActiveSheet.UsedRange If c <> "" And c.HasFormula Then str = c.Formula For k = 1 To ws.Cells(Rows.Count, 1).End(xlUp).Row If InStr(str, ws.Cells(k, 1)) Then c.Interior.Color = ws.Cells(k, 2).Interior.Color End If If c.Interior.ColorIndex = xlNone Then c.Interior.ColorIndex = 15 End If Next k End If Next c End Sub 'この行まで これでSheet2のA列に使用されてる数式の場合はB列の色で塗りつぶされると思います。 尚、A列以外の数式の場合は「灰色25%」になるようにしています。 ※ 仮にSheet2のA列に「SUM」があり「SUMIF」等がない場合 「SUMIF」は「SUM」と判断されます。 ※ 関数をネストしている場合、A列の下行の方がヒットしてしまいます。 参考になりますかね?m(_ _)m

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.4

> プリントアウトしてしまうと に問題があるんですよね? > Excelの実技テスト ってことは、実際にエクセルを起動して、 実際に操作させるんですよね? 印刷せず、特定の場所に名前を付けて保存させればよろしいのではないかと。 そんな単純な話でもなさそうです? 受験者それぞれ、

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.3

エクセルの関数では,目的のセルに記入されている「数式」をとらまえる事は一切出来ません。 そのセルに現れている結果が「生データ」なのか「どんな数式なのか」など,まったく判断する方法はありません。 方法1: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける public function getformula(byref target as excel.range) as string getformula = target.cells(1).formula end function ファイルメニューから終了してエクセルに戻る いまA1セルに何か数式(若しくは生データ)が記入されているとして =getformula(A1) と計算すると,その式の具体的な中身が計算される。 使用例:A10セルの数式は正解か? =IF(getformula(A10)="=SUM(A1:A9)","○","×") 方法2: エクセルのオプションの詳細設定で「計算結果の代わりに数式をセルに表示する」にチェックを入れ,目的のセルについて目視で正誤を確認する。

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

いくつかのアプローチが考えられますが、最も簡便な数式の検索方法は、(対象範囲を選択し)Ctrl+Gのショートカット操作でジャンプダイアログを出し、「セル選択」から「数式」にチェックを入れて「OK」してみてください。

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

エクセルのオプションで、詳細設計で、計算結果の代わりに数式をセルに表示する、にチェックしてみてください。