Topic8 基本的な数式

数式と関数を使用すると、1 つのシート内で、または複数のシートにわたって計算とルックアップ (参照) を実行できます。数式を使用すると、記号やドロップダウン フィールドを自動化することもできます。

手動で入力した値とセル参照の両方を使用して、数式を作成できます。 指定したフィールドに数式を追加したり、列全体に均一な計算を適用したりできます。 シート サマリーで数式を作成して、グリッドのスペースを節約することもできます。

数式には、SUM、AVG、IF などの関数を含めることができます CHILDREN のような階層関数など、Smartsheet 専用の独自の関数もいくつかあります。 利用可能なすべての関数については、関数リストを確認してください。

Smartsheet で数式を作成および編集するための構文について詳細をご確認ください。

具体例による説明のビデオ

サンプルの参考にしたエクセルシートのあるウェブサイト

説明で用いるシート

売上管理シート
https://app.smartsheet.com/b/publish?EQBCT=b8208442aeb14c409cd8e62372dd9cd3

Smartsheetの数式の概要

Smartsheetの関数はエクセルの関数と共通な部分が多いので、エクセルの関数が得意な方はその知識や経験を活用できます。ここでは、数式を使用する際に知っておくべき最も重要な事柄について説明します。

スプレッドシートの数式を使ったことがある方でも、これらのヒントの多くはスマートシート独自のものですので、目を通すようにしてください。

関数の追加方法

さて、シートに数式を追加したいとします。
そのためには、ツールバーの関数メニューを使用します。各関数には簡単な説明があるので、間違いがないかを確認することができます。
また、セルに関数を入力すると、ヘルプチップが新しい数式の完成をガイドしてくれます。

例えば右上の図の詳細情報をクリックすると、Smartsheetの関数のヘルプ記事に飛びます。

上下の行への関数の承継

同じ数式を持つ行の上下に新しい行を追加する場合、新しい行は自動的にその数式と書式を継承することに注意してください。
これはフォームによって新たな行を追加する場合に注意する必要があります。つまり、式を新たに追加した行に適用したいのなら、現在、数式が入っている行に隣接して新しい行が追加されるように設定します。一つの確実な方法は、先頭に新しい行を追加することです。

セル参照

次に、セル参照について説明します。セル参照は、手動で入力するか、セルを直接クリックすることで入力できます。

現在、Smartsheetの関数を日本語で入力する場合、文字化けが起こるバグがあります。改善を要請しているところですが、改善されるまでの間は、セルをクリックして加工する方法をお勧めします。

エクセルなどとの最も大きな違いは列の名前を使えることです。 
なお、セル参照の列名に複数の単語が含まれていたり、数字で終わっていたりする場合は、列名を大括弧で囲みます。

絶対セル参照は、移動したりコピーしたり塗りつぶしたりしても変更されません。
セル参照を絶対座標にするには、列名の行番号の前にドル記号を追加するか、その両方を追加します。

セル範囲の参照

同じシート内のセル範囲を参照する場合は、範囲を選択するか、開始と終了のセル参照をコロンで区切って入力します。
また、列全体をセル範囲として参照することもできます。
カンマでセルや範囲を追加することができます。

列の数式(関数)

列の数式を作成して、シートのすべての行に計算や式を適用することもできます。
数式は、新しい行にも自動的に適用されます。 
ただし、書式を設定する際には、必ず@rowの参照を使用してください。
数式を作成したら、セルメニューから「列の数式に変換」を選択します。すると、その列全体に自動的に適用されます。

Smartsheet独自の関数

シート内で階層構造を使用する場合 CHILDREN 関数が便利です。
親行の下にある子行の総数や平均を計算することができます。
また、新しい子行が追加されると、親行の計算には自動的に新しいデータが含まれます

エクセルの関数との比較

Smartsheet独自関数(Children)及びエクセル関数との比較

Smartsheet の数式構文 (つまり、数式の書き方) は Excel と少し異なりますが、基本は同じです。
主要なエクセルの関数とSmartsheetの関数を比較してみます。

Smartsheetの関数のリスト
https://app.smartsheet.com/b/publish?EQBCT=af48f9809ea546d994342f3e71fb7a22

エクセルとほぼ同じ関数が多く、エクセルの関数知識が生かせる

Smartsheet の数式構文 (つまり、数式の書き方) は Excel と少し異なりますが、基本は同じです。おそらくSmartsheetはできるだけエクセルの知識が生かせるよう、構文など同じまたは類似のものにしているのだと思います。

  • SUM 合計値
  • MAX、MIN 最大値・最小値
  • SUMIF 条件を指定して合計
  • COUNTIF 条件を満たす値の数
  • VLOOKUP 値の検索・表示
  • IF 条件判定
  • AVERAGE 平均値

エクセルで上のSmartsheetの関数のリストと同じ操作をしているものはこちら

セルの参照がより楽

エクセルがA23などとセルを参照するのに対して、Smartsheetでは価格23あるいは価格@rowなどとセルを参照します。
[列の名前]@rowは同じ行の別の列を参照するときに使い、割引率12のように、別の行(この場合12行目)の値を参照するときに用います。

式を見たときにより分かりやすくなっている

  • エクセルの場合 A12 = B12 * C12
  • Smartsheetの場合 販売額@row = 価格@row *個数@row

階層関数など独自の関数がある

例えば、Children()は、=SUM(Children()) といった形で、ある親行の子の行の集計等を行うことができる。
この他、プロジェクト管理のガンチチャートにおける依存関係に関する関数もある。

Smartsheet での数式の作成と編集

数式を使用して数値を計算したり、シートの要素を自動化したりできます。 たとえば、ある範囲の経費を合計したり、フィールドに特定の値が入力されたときにチェックボックスをオンにしたりするための数式を作成できます。


数式を作成する

次のフィールド タイプの数式を作成できます。

逆に数式が使えないのは、「自動番号割当/システム」列です。
連絡先リストの列で数式が使えることになったメリットについては、こちらの記事をご参照ください。

  • 依存関係リソース管理使用されていないフィールド。 詳細については、「依存関係の有効化および先行タスクの使用」を参照してください。
  • 文字列/数値 (依存関係またはリソース管理で使用されていない場合)
  • 連絡先リストのフィールド (リソース管理で使用されていない場合)
  • 日付 (依存関係またはリソース管理で使用されていない場合)
  • ドロップダウン リスト
  • チェックボックス
  • 記号
  • % 割り当て

フィールドに数式を入力するには:

  1. 目的のフィールドを選択します。
  2. フィールドに等号を入力してから、計算式を入力します。
    5+3
  3. 数式を入力したら、Enter キーを押します。
    8
    結果は、数式を含むフィールドに表示されます。

連絡先リストのフィールドに数式を入力することができます。 たとえば、VLOOKUP 式を使用して、ユーザーをタスクに自動的に割り当てます。 リソース管理に使用されている連絡先リスト フィールドでは、数式を使用できないことに注意してください。

関数

数式には、SUM、AVG、IF などの関数を含めることができます。 関数は、シート内のデータを使用して計算を実行したり、シート内のデータを操作したりします。 Smartsheet で使用可能な関数の完全なリストについては、「Smartsheet 関数リスト」を参照してください。

数式演算子

Smartsheet の数式では、次の演算子を使用できます。

記号説明
+追加
減算
*乗算
/除算
^指数
<より小さい
>より大きい
>=より大きいか等しい
<=より小さいか等しい
=等しい
<>等しくない

 


既存の数式を編集する

既存の数式を編集するには:

  1. 数式を含むフィールドをダブルクリックし、開いて編集します。
  2. 目的の数式を変更し、Enter キーを押します。

    数式の編集を中止したい場合は、Esc キーを押して編集モードを終了すると、編集前の数式に戻ります。

数式を簡単に作成するためのヒント

列の数式を使用する

数式を列全体に一貫して均一に適用する必要がある場合は、列の数式の使用が最適です。 セルに数式を作成し、それをすばやく変換して、列のすべてのセルに適用します。 新しい行がどのようにシートに挿入されるかにかかわらず、列の数式は自動的に適用されます。 詳細は、「列の数式を使用してすべての行に数式を設定する」を参照してください。

Sum ツールを使用する

使用する関数がわからない場合は、ツールバーの [Sum] ボタンの右側にある下向き矢印をクリックして、関数を選択できます。

[Sum] ボタンは、シートで選択したフィールドと、選択したフィールドとの階層関係に基づいて数式を提供します。 たとえば、親行のフィールドを選択し、[Sum] アイコンをクリックすると、フィールドに =SUM(CHILDREN()) の数式が生成されます。

数式を作成した後は、選択したフィールドをダブルクリックするか、F2 キー (Mac の場合は fn + F2) を押すことで、いつでも変更できます。

パーセンテージを使用する

Smartsheet は、パーセンテージを 0 と 1 の間の値として扱います。 パーセント用にフォーマットされた列に数式を作成する場合 (ツールバーの [パーセント ボタン][パーセント形式] ボタンを使用)、小数値を使用します。 例…

=0.5 + 0.4

…と入力すると、パーセントに書式設定された列に 90% と表示され…

=5 + 4

…と入力すると、パーセントに書式設定された列に 900% と表示されます。

ドラッグフィルまたはオートフィルで数式をコピーする 

各フィールドに数式を手動で入力することなく、複数のフィールドで数式を使用したい場合は、次の方法を使用して数式をシートの他の領域にすばやくコピーできます。

  • ドラッグフィル – 選択したフィールドの右下からドラッグして、シート内の隣接するフィールドに数式をコピーできます。 コピーすると、数式はそれぞれのフィールド参照を自動的に変更します。
  • オートフィル – Smartsheet で、垂直方向に隣接する新しいフィールドに数式を自動的にコピーさせることができます。 オートフィルを実行すると、新しい数式はそれぞれのフィールド参照を自動的に変更します。

この機能についての詳細は、ヘルプ記事「ドラッグフィル」と「数式のオートフィルと形式」をご覧ください。


数式の使用が制限されている領域

次のフィールドに数式を含めることはできません。

  • リソース管理で使用されている連絡先リストのフィールド
  • システム フィールド (例: 更新者)
  • 既定の列 (添付ファイル/リンク、コメント、行アクション インジケーター)
  • 依存関係リソース管理に使用される次のフィールド:
    • 開始日
    • 終了日
    • 期間
    • 先行タスク
    • % 完了

次の機能では数式を作成できません。

  • フォーム
  • 更新リクエスト (数式の結果は引き続き更新リクエストで表示できますが、スタンドアロンの数式を含めることはできません。)
  • レポート (数式の結果は引き続きレポートで表示できますが、スタンドアロンの数式を含めることはできません。)
  • ダッシュボード (数式の結果はダッシュボードで表示できますが、ダッシュボードにスタンドアロンの数式を含めることはできません。)

Smartsheet の次の機能から数式を編集することはできません:

  • フォーム
  • 更新リクエスト (数式の結果は引き続き更新リクエストで表示できますが、数式を編集することはできません。)
  • レポート (数式の結果は引き続きレポートで表示できますが、数式を編集することはできません。)
  • ダッシュボード (数式の結果は引き続きダッシュボードで表示できますが、数式を編集することはできません。)