数式オートコンプリート


関数を入力するときの支援機能です。これは便利!Excel 2007新機能の中でも、一番のオススメ機能です。

セルにRANK関数を入力する場合、「=R」まで入力すると「R」で始まる関数がリストに表示されます。

さらに「=RA」まで入力すると絞り込まれます。

入力したい関数が見つかったら、矢印キーで選択します。選択した関数をセルに入力するにはTABキーを押します。

関数によっては、計算の方法を決めるための引数を指定するものもあります。今回のRANK関数では、第3引数に"順位を昇順で求めるか、それとも降順で求めるか"を指定するために「0」または「1」を指定します。ところが、ほとんどの人は「あれ?どっちがどっちだったかな?」と悩みます。Excel 2007の数式オートコンプリートでは、こうした「列挙定数」もリストから選択できます。うれしいことに、何を指定するとどうなるのかといった解説付きです。

これで関数の入力が簡単になりました。

余談ですが、Excelをマスターしたいと思うのなら、絶対に![関数の挿入]ダイアログボックス(または関数ウィザード)を使ってはいけません。もし[関数の挿入]ダイアログボックスを使っていて「なかなか関数をマスターできないな…」とお悩みなら、その原因は[関数の挿入]ダイアログボックスを使っているからです。[関数の挿入]ダイアログボックスを使って関数を入力していると、Excelの数式作成で最も重要な関数を組み合わせて使うという発想が養われないからです。VLOOKUP関数は、検索値が空欄だとエラーを返します。エラーを表示したくないからといって「エラーを返さない何か他の関数」を探しても見つかりません。そんなものはないんです。VLOOKUP関数でエラーを表示したくないなら、IF関数とISERROR関数とVLOOKUP関数の3つを組み合わせて使わなければなりません。そのように、関数を素材として扱い、組み合わせて計算するという発想は、[関数の挿入]ダイアログボックスを使っている限り永遠に養われません。「関数の入力には、簡単なダイアログボックスを使いましょう」というパソコンスクールの嘘を信用してはいけません。あれは、ダイアログボックスを使う方が教えやすいから、そう解説しているに過ぎません。受講生のためではなく、講師(インストラクタ)の事情です。

閑話休題。

数式オートコンプリートで列挙定数がリスト表示される関数は、CELL、FV、HLOOKUP、MATCH、PMT、PV、RANK、SUBTOTAL、およびVLOOKUPだけです。

数式オートコンプリート機能で表示されるドロップダウンリストでは、次のキー操作が可能です。

上矢印キー:1つ上の関数を選択します
下矢印キー:1つ下の関数を選択します
PageUpキー:表示されているリストの先頭関数を選択します
PageDownキー:表示されているリストの末尾関数を選択します
Homeキー:リストの先頭関数を選択します
Endキー:リストの末尾関数を選択します
Tabキー:選択した関数をセルに入力します
Escキー:リストを閉じます
Alt+↓キー:数式オートコンプリートのオン/オフを切り替えます

PageUp・PageDownキーとHome・Endキーは、ドロップダウンリストに全ての関数が表示しきれず、スクロールバーが表示されているときに動作が異なります。

ドロップダウンリストで選択した関数をセルに入力するには、Tabキーを押すか、入力したい関数名をダブルクリックします。たとえば「=s」という挿入トリガで数式オートコンプリートを起動して「SUM」を選択した場合には、Tabキーまたはダブルクリックで「=SUM(」が入力されます。

VBEでは

  Range("A1").

のようにピリオド「.」まで入力すると、数式オートコンプリートのようなドロップダウンリストが表示されます。ちなみにこれを「自動メンバー表示」と呼びます。ここで「End」を選択して「(」を入力すると、コードペインには

  Range("A1").End(

と入力されます。

しかし、Excel 2007の数式オートコンプリートは違います。セルに

  =s

と入力してリストから「SUM」を選択し、その状態で「(」を入力すると

  =s(

と、何ともマヌケで腹立たしい結果に終わります。数式オートコンプリート機能では、選択した関数名に続く「(」や「"」などの記号やスペースを入力しても、自動的に補完してくれないです。このへんのUIは、VBEのように"賢く"して欲しかったですね(^^;