仕事で(あるいはプライベートでも)何か重要な数字を扱う必要がある場合、おそらくスプレッドシートアプリを使うでしょう。Macユーザーであれば、スプレッドシートアプリの選択肢は豊富にありますが、ほとんどの人にとって選択肢は3つに絞られます。MicrosoftのExcel 2011、AppleのNumbers(バージョン3.2)、そしてブラウザベースのGoogleドキュメントのスプレッドシートです。
どれを使うかは個人の選択であり、この記事ではその選択について焦点を当てていません。(私は個人的にExcelを好みますが、おそらく30年近く使い続けているからでしょう。)しかし、どのアプリを使うにせよ、ここでの疑問は「あなたは実際にそのアプリの使い方をどれだけ知っているのか?」ということです。
スプレッドシートのベテランとして、この疑問についてじっくり考え、スプレッドシートを使いこなす熟練ユーザー(初心者ではなく、これらのアプリをしばらく使い続けている人)が知っておくべきポイントを以下にリストアップしました。特定のタスクについて話しているわけではありません。むしろ、これらは、カジュアルユーザーから本格的なユーザーへとステップアップするために知っておくべきテクニックと概念です。
1. 数値の書式設定
数値は様々な形式(小数、整数、パーセンテージなど)で表現できるため、意味を明確にするために書式設定を適用する必要があります。例えば、0.25よりも25%の方が理解しやすいでしょう。そのため、セルに数値を入力してそのセルを選択した後、以下の操作を行います。
Excel:よく使う数値書式設定オプションの多くは、「ホーム」リボンに表示されます。または、「書式」>「セル」メニューを選択し、表示されるダイアログボックスで「数値」をクリックすることもできます。すべての数値書式はダイアログボックスの左端に一覧表示されており、いずれかを選択すると、右側にオプションが表示されます。
「カスタム」オプション(最近Numbersにも追加されました)は特に便利です。書式設定された数値にテキストを組み合わせることができるからです。例えば、「」という書式を#,##0.00 "widgets"設定すると、必要に応じてカンマが挿入され、小数点以下2桁まで表示され、数値の後に「widgets」という単語が付きます。計算に使用するセルは数値として扱われますが、定義済みのテキストが表示されます。
Numbers:ツールバーの「フォーマット」アイコン(ペイントブラシ)をクリックし、表示されるサイドバーで「セル」を選択します。ポップアップメニューから、使用するオプション(「自動」、「数値」など)を選択します。場合によっては、他の値も設定する必要があります。例えば、「数値システム」を選択した場合は、「基数」、「桁数」、および負の数の表現方法を設定する必要があります。(Numbersには、スライダー、ステッパー、ポップアップメニューなどの特殊な数値書式も用意されており、これらを使用して直感的なデータ入力フォームを作成できます。)
Numbers には、スライダーを含むさまざまな特殊な数値形式が用意されています。
Sheets:すべての数値書式は「書式」>「数値」メニューにあります。各書式設定オプションはそれぞれのサブメニューに表示されます。Excelと同様に、テキストと数値を組み合わせたカスタム数値書式を作成できますが、「書式」>「数値」>「その他の書式」サブメニューに隠れているため、まずオプションを見つける必要があります。
2. セルを結合する
もう一つの便利な書式設定のテクニックは、セルの結合です。結合セルとは、その名の通り、2つ以上のセルを1つに結合したセルのことです。例えば、複数の列の上にヘッダーを中央揃えにするのに最適です。結合セルは、典型的なスプレッドシートの厳格な列と行のレイアウトから抜け出すための強力な手段です。
セルを結合するには、結合する最初のセルにのみ値が入っている必要があります。他のセルの値は結合によって消去されます。結合するセルの範囲を選択するには、最初のセル(データが含まれているセル)をクリックし、結合したい範囲をドラッグします。
Excel: [ホーム] リボンの [結合] エントリをクリックし、ポップアップ メニューに表示される結合オプションのいずれかを選択します。最もよく使用するオプションは [結合して中央揃え] です。
Numbers:表 > セルの結合を選択します。
2 つのセルを 1 つに結合すると、列ヘッダーを作成するのに便利です。
シート: [書式] > [セルの結合] を選択し、[水平に結合] などの結合オプションのいずれかを選択します。
セルを垂直に結合することもできます。これは、親セル (たとえば、販売員) に複数行のデータ (たとえば、販売済み製品と販売済み数量) が含まれているテーブルで役立ちます。
3. 関数を使う
基本的な数式を使ってセルの内容に対して基本的な計算を行う方法は、おそらくすでにご存知でしょう。しかし、テキストや数値を様々な方法で操作できる関数こそが、スプレッドシートの真の可能性を解き放つ鍵です。
もし数が最も重要だとしたら、Excelが勝者でしょう。(私の数え方が正しければ)398個の関数を備えています。Googleスプレッドシートは僅差で343個、Numbersは282個です。しかし、必要な関数が揃っていれば、アプリの総数は重要ではありません。
これら3つのアプリは、よく使われる関数を多数共有しています。例えば、複数のセル範囲の数値を合計するには、いずれも=SUM(RANGE)(RANGE括弧内は合計するセル範囲への参照) を使用できます。また、複数の数値の平均を求めるには を使用できます=AVERAGE(RANGE)。数値を小数点第2位で四捨五入するには を使用できます=ROUND(CELL,2)。
各アプリには250以上の機能が搭載されているため、その一部を説明することさえ不可能です。しかし、私が普段よく使う、あまり知られていない機能をいくつかご紹介します。これらの機能は、3つのアプリすべてに同じ形で存在します。
Numbers の便利な関数ブラウザ。
=COUNT(): 範囲内のすべての数値エントリをカウントします。数値以外の値はスキップされます。数値以外の値を含めるには、=COUNTA(RANGE)代わりに を使用してください。
=MAX(RANGE)および=MIN(RANGE): 範囲内の最大値と最小値を返します。これら2つに関連して、=RANK(CELL,RANGE)指定された範囲内での特定のセルの順位を返す もよく使います。
=NOW: 現在の日付と時刻を挿入します。これは、スプレッドシートが再計算されるたびに更新されます。(Excel とスプレッドシートの両方で、括弧のセットを追加する必要があります: =NOW()。)
=TRIM(CELL)他のソースからコピー&ペーストしたテキストを扱う場合、テキストの行頭や行末に余分なスペースが含まれている可能性があります。TRIM関数は、これらの先頭と末尾のスペースをすべて削除しますが、単語間のスペースはそのまま残します。
これらの例以外にも、各アプリの関数を理解するには、関数ブラウザを実際に使ってみるのが一番です。Numbersでは、イコール記号(=)を入力するとすぐに関数ブラウザが表示されます。ブラウザは右側のサイドバーに表示され、各関数の分かりやすい説明と例が表示されます。Excelでは、ツールボックスの「表示」>「数式ビルダー」を選択します。スプレッドシートでは、「ヘルプ」>「関数一覧」を選択すると、スプレッドシートのウェブページが開き、関数一覧が表示されます。
4. 相対参照と絶対参照を区別する
上記の関数では、CELLと はRANGE個々のセルまたはセル範囲への参照です。つまり=ROUND(C14,2)、 はセルC14の値を2桁に丸め、 は=SUM(A10:A20)セルA10からA20までのすべての数値を合計します。
これらのセルの位置は、入力するか、マウスをクリック (範囲の場合はクリックしてドラッグ) することで入力できます。
スプレッドシートアプリも非常に賢く、 をコピーして=SUM(A10:A20)右側の列に貼り付けると、自動的に に変更されます。これは相対アドレス指定=SUM(B10:B20)と呼ばれ、関数の内容は配置場所を基準に相対的になります。これは、3つのアプリすべてで数式のデフォルトとなっています。
数式をコピーまたは移動してもセル参照が変更されないようにしたい場合は、3つのアプリすべてに「絶対アドレス指定」というモードがあります。絶対アドレスは、新しい場所にコピーしても変更されません。3つのアプリすべてで、絶対アドレスの作成に同じ記号を使用します。数式内の行または列の記号の前にドル記号を付けます。そのためA10:A20、例えば と入力する代わりに と入力することで$A$10:$A$20、配置場所に関係なく常にそれらのセルを参照する固定数式を作成できます。
Numbers の絶対/相対セル アドレス指定ウィンドウ。
一方向のみをロックすることもできます。$A10:$A20は常に列Aを参照しますが、数式を1列分コピーして50行下に移動すると、$A60:$A70に変わります。同様に、A$10:A$20は行をロックしますが、この数式を1列分コピーして50行下に移動すると、B$10:B$20に変わります。
セルのアドレスを直接入力する場合は、3つのアプリすべてでドル記号を手動で入力するだけで済みます。しかし、クリックとドラッグでセルを選択する場合は、Numbersには相対アドレスと絶対アドレスを切り替える別の方法があります。
クリック&ドラッグで追加したセル参照は、小さな色付きのバブルで表示され、右側に三角形が表示されます。この三角形をクリックすると、Numbersの絶対/相対セル参照ウィンドウがポップアップ表示されます。この方法は確かに有効ですが、ドル記号を目的の場所に入力するだけよりも時間がかかると感じています。
5. セル参照に名前を付ける
セルを位置で参照するのは便利ですが、特定の数式が何を実行しているのかを正確に把握するのが難しくなる場合があります。また、頻繁に使用するセルの位置を覚えておく必要があり、大規模なスプレッドシートでは特に困難です。しかし、セル(および範囲)に名前を付けると、数式が読みやすくなり、他の数式でセルを再利用しやすくなります。
例として、次の数式を考えてみましょう=PMT(C5/12,C6,C7)。これを読むだけで、何らかの支払い額を返していることは推測できるでしょうし、セルC5に年利率が入っていることも分かるかもしれません。しかし、実際には、この数式が何をしているのかを理解するのは容易ではありません。同じ数式を名前付きセルを使って表すと次のようになります=PMT(INT_RATE/12,TERM,LOAN_AMT)。これで、何が起こっているのかがはるかに明確になり、セルC5が年利率であることを覚えておく必要がなくなりました。
Excel で範囲に名前を付けます。
Excel:名前を付けたいセルまたは範囲を選択し、「挿入」>「名前」>「定義」を選択すると、新しいウィンドウがポップアップ表示されます。最初のボックスに作成したい名前を入力し、「追加」をクリックします。定義したい名前の数だけこの手順を繰り返します。すべての名前を定義したら、Excelでは既存の関数にそれらを適用することもできます。「挿入」>「名前」>「適用」を選択すると、名前が付けられたすべてのセルと範囲を表示する小さなウィンドウが表示されます。<Shift>キーを押しながら、リストの最初の名前をクリックし、次にリストの最後の名前をクリックしてすべてを選択します。「OK」をクリックすると、名前付きセルまたは範囲を参照するすべての関数に名前が挿入されます。
セルまたは範囲に名前を付けると、スプレッドシートでは常にその名前が数式で使用されます。セルをクリックしても、Excel によって数式にその名前が挿入されます。
数値:残念ながら、名前付き範囲はサポートされていません。
スプレッドシート:名前を付けたいセルまたは範囲を選択し、「データ」>「名前付き範囲」を選択します。サイドバーが表示されるので、範囲名を入力し、必要に応じてセル参照を変更します。「完了」をクリックすると、名前付き範囲が作成されます(セルが1つだけの場合でも)。新しく作成した名前を既存の数式に適用する方法は今のところありません。Excelとは異なり、スプレッドシートでは、明示的に入力しない限り名前は使用されません。
スプレッドシートの最も一般的な用途の一つは、表形式のデータを作成し、そこから値を抽出することです。配送用品を販売する会社のワークシートを例に考えてみましょう。
あなたの仕事は、同僚からの質問に答えることです。例えば、「梱包用の発泡スチロールの原価はいくらですか?」「テープは何巻在庫がありますか?」といった質問です。もちろん、誰かが質問するたびにテーブルを見るだけでもいいのですが、現実世界のテーブルには数百、数千もの行があるかもしれないことを考えてみてください。もっと良い方法があるはずです。
そして、関数VLOOKUPとHLOOKUP関数は、参照値とテーブル内の値を照合することで、テーブルからデータを抽出します。(これらの関数は3つのアプリすべてで同じなので、Numbersでの動作を説明します。)

VLOOKUPデータが上記の表のとおりである場合に使用されます。つまり、各項目が独自の行にあり、関連付けられたデータHLOOKUPの列が複数あります。 は、各項目が独自の列にあり、関連付けられたデータの行が複数ある場合に使用されます。
数式のレイアウトは各アプリで同じです。
VLOOKUP(LOOKUP_VALUE, COLUMN_NUMBER (ROW_NUMBER for HLOOKUP) TO RETURN, REQUIRE EXACT MATCH)
いくつかのVLOOKUP数式を使うだけで、特定の製品に関するすべてのデータを素早く取得できるルックアップツールを作成できます。こちらは上記と同じワークシートですが、上部に製品ルックアップテーブルを追加したものです。また、結果を生成する実際の数式も記載しているので、どのようにVLOOKUP動作するかがお分かりいただけると思います。

一例として、On Hand 行の数式を次に示します。VLOOKUP($A$2,Table 1::$A$2:$G$8,5,0)
$A$2は、表内の一致させる値、つまり緑のボックスの内容への絶対参照です。Table 1::$A$2:$G$8は、Numbers が にある値に一致するものを検索するセルの範囲です$A$2。 (これは、Numbers で範囲に名前を付けると便利である理由を示す良い例です。) は、5Numbers に 5 列目 (最初の列は列 1) の値を返すように指示します。この列は、在庫数量が格納されている列です。
最後に、末尾のゼロは非常に重要です。これはスプレッドシートに完全一致のみを返すように指示するものです。どちらの検索式でもこのゼロを省略すると、Numbersはあいまい一致、つまり検索値とほぼ一致する一致を返します。この場合、これは好ましくありません。検索セルに入力ミスがあった場合、よく一致する製品が表示されるのではなく、検索に問題があったことを知らせるエラーメッセージが表示されるはずです。
他の数式は基本的に同じで、返される列番号のデータが異なります。
7. 論理テストを実行する
多くの場合、他のセルの値の結果に基づいてセルの値を設定する必要があります。例えば、配送用品会社のワークシートでは、「注文アラート」列は空白(在庫が十分にある場合)か、Order Soon!警告(在庫が少なくなっている場合)のいずれかになります。
1つのセルに2つの値を表示するにはどうすればよいでしょうか?論理関数を使えば可能です。これらのスプレッドシートアプリにはそれぞれ、多数の論理関数が含まれています。特に便利な3つの論理関数は、3つのアプリすべてに搭載されています。
最初の方法では、定義した条件を満たすかどうかに基づいて数値を合計できます。=SUMIF(TEST_RANGE,CONDITION,OPTIONAL_SUM_RANGE)( を省略するとOPTIONAL_SUM_RANGE、TEST_RANGEも合計する値の範囲として使用されます。)
たとえば、配送用品会社のワークシートを使用すると、次の数式により、利益が 2.25 ドルを超える品目のみが追加され、在庫数量の列が合計されます=SUMIF(D2:D8,">2.25",E2:E8)。
この数式では、Profit 列 ( D2:D8) がテスト (値が より大きいか2.25?) と比較され、大きい場合は列 E ( E2:E8) の金額が合計に加算されます。
2 番目の関数SUMIFSは と関連していますSUMIFが、テスト範囲と条件のオプションのペアを多数取ることができます=SUMIFS(SUM_RANGE,TEST_RANGE,CONDITION1,TEST_RANGE2,CONDITION2, etc.)。
たとえば、利益が2.25ドルを超え、製造コストが3.00ドル未満の品目の在庫数量の合計を求める場合は、次のようになります。この数式は、利益( )が2.25ドル( )を超え、かつ製造コスト( )が3.00ドル( )未満である場合にのみ、在庫数量=SUMIFS(E2:E8,D2:D8,">2.25",B2:B8,"<3")列( )を合計します。E2:E8D2:D8">2.25"B2:B8"<3"
3つ目(そして私にとって最も頻繁に使う)論理関数の使い方を知っておくべき関数は、 simpleIF関数です。これは、IF条件が満たされているかどうかに基づいてセルの結果を変化させる優れた方法です。構文は非常にシンプルです=IF(CONDITION,RESULT_IF_TRUE,RESULT_IF_FALSE)。
一例として、配送用品会社のワークシートを考えてみましょう。注文アラート列には、IFセル G2 の次のようなステートメントだけが含まれています=IF(E2/F2<1.25,"Order Soon!","")。
テストする条件は、在庫数と再発注点の比率が1.25(125%)未満であるかどうかです。もしそうであれば、発注のタイミングであり、"Order Soon!"警告が表示されます。そうでない場合は問題ありません。Falseの結果として空文字列を指定して、セルを空のままにします。
IFステートメントはネストされる可能性があり、静的なテキストだけでなく、他のセルやセル範囲への参照も含めることができるため、非常に複雑になる可能性があります。
8. テキストと数式の結果を組み合わせる
数値書式のセクションでは、カスタム数値書式にテキストを追加する方法について説明しました(Excelとスプレッドシートで、Numbersでは使用不可)。この方法は確かに有効ですが、文字列ベースの数式を使えば、テキストと数値を混在させる他の方法もあります。
先ほどの架空の配送資材会社をもう一度考えてみましょう。ある製品の総投資額(製造コスト×在庫数量)を示すレポートを経営陣向けに作成したいとします。もちろん、簡単に計算して、詳細を記載したメールを送ることもできます。
ただし、自分でそれを行う代わりに、スプレッドシート アプリに文を作成させることもできます。
「テープへの総投資額は 262.50 ドルです (1 個あたり 1.75 ドルで 150 個の在庫があります)。」
これを行うには、特殊文字であるアンパサンド(&)が必要です。アンパサンドは、テキスト文字列を含む1つの数式値を別の数式値に結合するために使用できます。
したがって、たとえば、上記の文を (3 つのアプリのいずれでも) 作成する場合、式は次のようになります。
="The total investment in "&A8&" is "&DOLLAR(B8*E8)&" (we have "&FIXED(E8,0)&" in stock at "&DOLLAR(B8,2)&" each)."ここでの秘訣は、 関数DOLLARとFIXED関数を使用することです。これらの関数は、数値を数値のように見えるテキストに変換します。DOLLARバージョン関数は、ドル記号を含む通貨に自動的にフォーマットします。
9. 条件付き書式を使用する
前述の通り、これら3つのスプレッドシートアプリでは、数値、テキスト、セルの書式を設定できます。しかし、従来の書式設定を使用する場合、3つすべてに共通する制限があります。一度書式設定すると、セル内のデータに何が起こっても、その書式が維持されます。データ表に区切り線を作成する場合、これはそれほど問題にはなりません。しかし、特定の種類の数値(例えば在庫と注文のポイントに達したときなど)を強調表示したい場合、固定書式設定はあまり役に立ちません。
そんな時に便利なのが条件付き書式です。その名の通り、指定した条件に基づいて書式が変化する機能です。Numbersではこの機能は「条件付きハイライト」と呼ばれ、「書式」サイドバーの「セル」タブにあります。ExcelとSheetsではどちらも「条件付き書式」と呼ばれており、どちらのアプリでも「書式」メニューに同じ名前で表示されます。
条件付き書式は複雑なトピックです。完全に理解するには、ここで説明するよりもはるかに多くの言葉が必要になります。しかし、IF条件付き書式がどのような機能を果たすのかを示す一例として、先ほど「注文アラート」列に入力するために使用した関数の例を考えてみましょう。在庫が不足しているときにアラートを表示するだけの式ではなく、在庫が十分にあることを示すメッセージを表示するように式を修正できます。変更は簡単です=IF(E2/F2<1.25,"Order Soon!","Stock OK")。
理想的には、Order Soon!アラートは太字で赤色で表示されるべきです。しかし、これは には意味がありませんStock OK。太字ではなく、薄緑色で表示される方が適切でしょう。条件付きの強調表示/書式設定ルールを作成することで、値に基づいてセルの書式を変更できます。
Excel: G2からG8までの範囲(この例では)を選択し、「書式」>「条件付き書式」メニュー項目を選択します。表示される新しいウィンドウで、プラス記号をクリックします(新しいルールを追加するため)。「新しい書式ルール」ウィンドウが表示されたら、「スタイル」ポップアップを「クラシック」に設定します。すると、さらに別のウィンドウが開きます(これで3つのウィンドウが開きますが、まだルールを1つも作成していません)。
Excel での条件付き書式。
この新しいウィンドウで、「スタイル」ポップアップを「クラシック」のままにし、2つ目のポップアップを「指定の文字列を含むセルのみ書式設定」に設定します。次の2つのポップアップを「特定の文字列」と「指定文字列を含む」に設定し、Order Soon!テキストボックスに入力します。「書式設定」ポップアップを「カスタム書式」に設定すると、4つ目のウィンドウが開きます。「フォント」タブをクリックし、「色」ポップアップを赤に設定し、「フォントスタイル」ボックスで「太字」をクリックします。「罫線」タブと「塗りつぶし」タブに何も入力されていないことを確認し、「OK」をクリックして4つ目のウィンドウを閉じ、もう一度「OK」をクリックして3つ目のウィンドウを閉じます。
もう一度同じ操作を繰り返し、プラス記号をクリックして開始します。ただし今回は、テキストボックスの入力項目を に設定しStock OK、フォントの色を緑に設定し、フォントスタイルは太字ではなく標準フォントであることを確認します。「ルールの管理」ウィンドウに戻ると、両方のルールがリストされているはずです。「OK」をクリックして(ついに!)ルールを適用します。
Numbers での条件付き書式の結果。
数値:セル範囲(G2:G8)を選択し、「書式」サイドバーの「セル」タブにある「条件付きハイライト」ボタンをクリックします。サイドバーが切り替わります。「ルールを追加」ボタンをクリックしてルールのポップアップリストを表示し、「テキスト」タブをクリックします。「等しい」項目をクリックし、最初のポップアップを「テキストが等しい」に設定して、Order Soon!ボックスに入力します。テキスト入力ボックスの下にあるメニューの三角形をクリックし、最後の項目「カスタムスタイル」を選択します。
サイドバーにさらにパネルが追加されます。カラーホイールで赤のトーンを選択し、太字のテキストにするには「B」ボタンをクリックします。最後に「完了」をクリックします。
これでOrder Soon!セルの書式設定が完了しました。では、Stock OK今は黒いテキストになっているメッセージはどうでしょうか?G2:G8の範囲が選択されたまま、サイドバーの「強調表示ルールを表示」をクリックし、もう一度「ルールを追加」をクリックします。上記の手順を繰り返しますが、テキストボックスの文字数を「 」に変更しStock OK、カスタムスタイルを太字ではない緑のテキストに設定します。「完了」をクリックすると、セルに太字の赤と通常の緑のテキストの両方が表示されます。
Sheets: G2:G8 の範囲を選択し、「書式」>「条件付き書式」メニュー項目を選択します。表示されるダイアログボックスで、最初のポップアップを「テキストの内容」に設定し、Order Soon!テキストボックスに入力します。「テキスト」ボックスにチェックを入れてテキストの書式を設定し、右側の一見空いているボックスをクリックしてカラーピッカーを表示します。好みの赤を選択します。また、「背景」ボックスにチェックを入れて背景色を設定すると良いでしょう(明るい黄色が目を引きます)。Sheets では条件付き書式でフォントの外観を変更できないためです。
Google スプレッドシートの条件付き書式設定ツール。
「別のルールを追加」リンクをクリックし、手順を繰り返します。ただし、Stock OKテキストボックスに入力し、テキストの色は緑を選択します。2つ目のルールを設定したら、「ルールを保存」をクリックして作業結果を確認します。