@cell および @row を用いて効率的な数式を作成する

数式を最適化すると、シートの全体的なパフォーマンスが向上し、数式でセルを手動で参照する必要がなくなります。

ご利用可能なユーザー

プラン:

  • Smartsheet
  • Pro
  • Business
  • Enterprise

権限:

  • 所有者
  • 管理者
  • 編集者

Find out if this capability is included in Smartsheet Regions or Smartsheet Gov.

エンタープライズ プランのユーザーは、AI を使用して数式を作成できます。 

編集者の共有権限を持つユーザーは、シートのロックされていないセルでのみ、数式を作成および編集できます。

シートが大きくなるほど、効率的に作成された数式がパフォーマンスの向上により役立ちます。ここでは、数式をより効率的にするのに役立つ 2 つの関数、@cell と @row をご紹介します。


@cell を用いて、よりスマートなセル計算を実行する

セルの範囲を参照する数式 (SUMIF、SUMIFS、COUNTIF、COUNTIFS など) の計算を実行したい場合は、関数の条件で @cell 引数を使用します。 

引数 @cell は、主な関数 (SUMIF など) が範囲内の基準を評価すると同時に各行の計算を実行するため、数式をより効率的にすることができます。

たとえば、下の画像のサンプル データを使用して、期日が 2023 年であるすべてのタスクの費用を合計する場合は、次の数式を作成します。

=SUMIF([Due Date]1:[Due Date]5, YEAR(@cell) = 2023, Cost1:Cost5)

Brandfolder Image
Sheet containing a =SUMIF formula

 

数式に IFERROR 関数を追加しておくことで、@cell が数式内で空白のセルに遭遇した場合にエラーが表示されないようにできます。例: =COUNTIF(日付:日付, IFERROR(YEAR(@cell), 0) = 2016)


@row を用いて数式のパフォーマンスを向上させる

@row を使用すると、列内のセル参照 (タスクのステータスなど) を自動的に変更できるため、多数の行がある場合でもパフォーマンスを向上させることができます。 


数式を使用して、このグリッドの [Status (ステータス)] 列の記号を自動的に変更するとします。

Brandfolder Image
Sheet containing data for a RYG ball color change formula automation

 

ここでは、[Status (ステータス)] 列にある赤黄緑のライトの色変更を自動化するために作成する数式の例を紹介します。

=IF(Complete3 > 1, IF(TODAY() - [Due Date]3 > 0, "Red", IF(TODAY() - [Due Date]3 > -3, "Yellow", "Green")))

上記の数式には、行 3 のセルに対する複数の参照が含まれています。行 3 の上に行を追加すると、数式内のすべてのセル参照が行 4 に自動的に更新されます。下のすべての行にも同じ数式の変更が適用されます。更新が必要な数式の数が増えると、Smartsheet のパフォーマンスに影響が及びます。

シートのパフォーマンスを向上させるには、セル参照の行番号を @row に置き換えます。@row を使用した数式は次のようになります。

=IF(Complete@row > 1, IF(TODAY() - [Due Date]@row > 0, "Red", IF(TODAY() - [Due Date]@row > -3, "Yellow", "Green")))

Smartsheet では、行を移動してもセル参照を更新する必要がないため、シートの読み込みが速くなります。また、セル参照の行番号を手動で変更しなくても、この数式をコピーして貼り付けることができるため、数式をコピーする必要があるときに時間を節約できます。 

さらにサポートが必要な場合

他のサポート リソースをお探しの場合は、数式ハンドブック テンプレートをご活用ください。リアル タイムで操作を練習できるすべての関数の用語集や、よく使われる数式と高度な数式の例を含む、100 個以上の数式を記載しています。

Smartsheet の他のお客様がこの関数をどのように使用しているかの例を検索したり、Smartsheet オンライン コミュニティで特定の使用例について質問したりすることができます。

コミュニティに質問する