FAQ:数式の使用

Smartsheetマニュアル|クロスシート参照、VLOOKUPの代替機能、行の自動更新など、Smartsheetの数式に関するよくある質問をご覧ください。

Smartsheetの数式を使用すると、データが自動的に計算され、シート内のセルの内容が結合され、日付の追跡などが容易になるため、時間を節約できます。

プラン

  • Smartsheet

  • Pro

  • Business

  • Enterprise

プラン タイプと含まれる機能の詳細については、 「Smartsheetプラン」ページを参照してください。

まだ助けが必要ですか?

数式ハンドブック テンプレートを使用すると、さらに多くのサポート リソースを見つけたり、リアルタイムで操作を練習できるすべての関数の用語集や、一般的に使用される高度な数式の例を含む 100 以上の数式を表示したりできます。

他のSmartsheetユーザーがこの関数をどのように使用しているかの例を見つけたり、 Smartsheetオンライン コミュニティで特定の使用例について質問したりできます。

コミュニティに質問する

数式は別のシートのセルを参照できますか?

はい。 数式は、クロスシート数式を使用して、別のシートの単一のセル、セル範囲、または列全体を参照できます。

Smartsheet はVLOOKUP 関数をサポートしていますか?

そうですよ! ただし、 Smartsheet には、より汎用性の高いINDEXMATCH の組み合わせがあります。 この組み合わせにより、1 つの大きな範囲を使用するのではなく、列を個別に調べることで、シート間のセル参照が減少します。

例として、クロスシート参照の数式の組み合わせに関する記事をご覧ください。

VLOOKUP記事でも学ぶことができます。また、 Smartsheetオンライン コミュニティで、他の Smartsheet ユーザーが数式を使用してデータを収集する方法の例を見つけることもできます。

新しく追加された行を含む数式を取得するにはどうすればよいですか?

同じ数式を含む 2 つの行の上、下、または間に新しい行が挿入されると、新しい行はその数式を自動的に継承します

列内のすべての値を使用する数式を作成する場合は、行参照を除外し、含まれる範囲内の列名のみを使用します (例: =SUM([合計時間]:[合計時間])。 これにより、追加された行が自動的に計算に含まれるようになります。

列の式を設定している場合、その列に追加されるすべての新しい行に式が自動的に適用されます。

シンボル列タイプの列は数式で制御できますか?

はい。 数式に追加される文字は、使用する記号によって異なります。 数式に何を追加するかについては、次のリストを参照してください。

セル内にテキストとして表示される理由としては、次の 3 つが考えられます。

  • 等号 (=) が抜けている:数式は常に = で始まる必要があります。

  • シートで依存関係が有効になっている: シートで依存関係が有効になっている場合、これらの依存関係が有効な列では数式を使用できません。

    • 開始

    • 期間

    • 終了

    • 先行タスク

    • % 完了または % 割り当て: これらの列は、依存関係の設定に基づいて値を自動的に生成し、式を上書きします。 これらの列のいずれかに数式を入力すると、計算は実行されず、プレーン テキストとして表示されます。

  • レポートまたはモバイル デバイスから数式を作成した:現在、レポートまたは Android および iOS アプリからの数式の作成はサポートされていません。 レポートまたはモバイル アプリから入力した数式は、値を計算したり検索したりするのではなく、プレーン テキストとして表示されます。

% Complete を参照する数式が機能しないのはなぜですか?

シートまたはレポートのセルでは、パーセント形式ではなく、10 進数値が使用されます。 これは、パーセント形式の値を使用する列にも当てはまります。

依存関係が有効になっている場合、開始日、終了日、期間、完了率などの列には、プロジェクト機能を提供するための固有の式が含まれます。 上書きされる可能性があるため、これらの列では数式を使用できません。

この動作を回避するには、シートの依存関係を無効にするか、新しい列を作成して目的の計算を実行します。

開始日/終了日列を参照する数式が機能しません。 どうすれば修正できますか?

シートで依存関係が有効になっている場合、開始日列と終了日列には暗黙的な時間コンポーネントが含まれます。 時間は列に表示されませんが、数式の結果に影響を与える可能性があります。

たとえば、開始日 (今日) から TODAY() を減算する数式があるとします。 通常、結果は 0 であると予想されます。 Smartsheet は暗黙的なタイム スタンプに基づいて減算を実行しようとするため、実際に取得されるのは 10 進数値です。 この問題を回避するには、DATEONLY 関数を使用します。

この例に従うと、数式 =[開始日]2 - TODAY() は =DATEONLY([開始日]2) - TODAY() に変更されます。

この場合、 Smartsheet は計算の実行時に時刻ではなく日付のみを参照します。

[作成日] 列と [変更日] 列の差を計算すると、不正確な結果が表示されます。 どうすれば修正できますか?

DATEONLY 関数を使用します。 システム列の日付は表示値であり、実際の値ではありません。 システム列には UTC 日付が記録されますが、UTC 日付に基づいてローカルの日付/時刻が表示されます。 DATEONLY 関数を使用しない場合、予期しない結果が表示される可能性があります。

DATEONLY を使用すると、System 列から日付が抽出されます。 以下にサンプル数式を示します: =NETWORKDAYS(DATEONLY(Created@row), TODAY())。

TODAY() を使用した数式が今日の日付に更新されないのはなぜですか?

TODAY 関数を使用して数式を含むシートを参照するレポートやダッシュボードを開いても、TODAY 関数は現在の日付に更新されません。 基礎となるシート自体を更新する必要があります。

数式を更新するアクションのリストについては、 「TODAY 関数」の記事を参照してください

記事「数式の TODAY 関数を自動的に更新する」を参照するか、Bridge を使用して毎日のシート保存をスケジュールするを参照してください

「別のシートに移動」または「別のシートにコピー」コマンドを使用して、数式を含む行を別のシートに移動またはコピーすると、数式はどうなりますか?

これらのコマンドを使用して行を移動またはコピーすると、数式は保持されません。 ただし、キーボード ショートカットを使用して数式をコピーして貼り付けることはできます

数値が正しく計算されないのはなぜですか? たとえば、1 + 12 を加算すると、結果は 13 ではなく 112 になります。

多くの場合、この計算エラーは、参照される値の 1 つがテキスト値とみなされるために発生します。

このエラーを修正するには、参照されている値のいずれにも、数値をテキスト値に変換する文字が含まれていないことを確認してください。 たとえば、値 12 の前にアポストロフィ (') があった場合、この望ましくない結果が発生します。

これを見つけるコツは、数値の書式設定の配置を確認することです。 多くの場合、テキスト値としてみなされる値は、数値の通常の右揃えではなく、セル内で左揃えで表示されます。

次の場合、数値は左揃えで表示されます。

  • 数式によって生成された場合

  • プライマリ列にある場合

ただし、これらの値は数値として認識されます。 数式またはセルに別の指示がある場合を除きます。

このエラーを修正するもう 1 つのオプションは、VALUE() 関数を使用することです。 VALUE() 関数は、数値を含むテキスト文字列を数値に変換します。

値を返すはずの SUMIFS 式を使用していますが、0 が返されます。

はい。 数式で参照されているセルがテキスト値であり、電子メール アドレスを作成しない場合は、テキスト値のみが返されます。

連絡先列ではどのような機能が機能しますか?

連絡先値を返すことができる関数は、連絡先列で機能します。 使用できるサンプル関数をいくつか示します。

  • Equals Contact cell: =[割り当て先]1

  • VLOOKUP: =VLOOKUP([割り当て先]1,{部署名},2,false)

  • PARENT: =PARENT()

  • INDEX(MATCH()): =INDEX({部署名},MATCH([割り当て先]1,{名前},0))

  • IF: =IF(緊急度1="高",[緊急オンコール]1,[割り当て先]1)

以下に、これらの式を実際に使用した具体的な例をいくつか示します。

サンプルシート情報:

現在、数式を使用して新しい連絡先を作成する直接的な方法はありません。 組織のメールアドレスが特定のパターンに従っている場合は、複数の列を使用して新しい連絡先を作成できます。 たとえば、first.last@domain.com などです。

first.last用の列@domain.com用の別の列を用意します。 JOIN 関数を使用すると、これら 2 つのフィールドを同じ連絡先セルにまとめて、目的の連絡先を作成できます。

連絡先列に連絡先またはテキスト値以外のデータを出力する数式を使用できますか?

連絡先またはテキスト以外のデータ型 (日付、数値、ブール値など) を出力する数式はサポートされておらず、エラー コード #CONTACT EXPECTED が返されます。 これは、今日の DATE 列の動作と似ています。 日付またはテキスト以外を出力する場合、数式は#DATE EXPECTED まで計算されます。「チェックボックス」列も同様で、エラー #BOOLEAN EXPECTED が返されます。