Smartsheetでは、数式と関数を使用して、単一のシート内または複数のシートを跨いで計算や参照を実行することができます。また記号やドロップダウンフィールドを自動化することもできます。前回は基本編として数式と関数の設定方法の概要を紹介しましたが、今回は応用編として子階層のデータを取得する方法、設定した数式を他の行にも適用する方法、シート間の数式の使用方法を紹介したいと思います。
Smartsheetは階層でインデントを設定出来ますが、親階層のセルで子階層のデータを関数で取得することが出来ます。
(1)具体的にはCHILDREN()関数を使用しますが、例えば子階層の合計値をSUM関数で取得する場合は以下のような数式を設定します。
=SUM(CHILDREN())
以下は子階層「商品1」〜「商品5」の定価合計値を親階層に設定する例です。
(2)数式を設定すると以下のように子階層の合計値が表示されます。
設定した数式を他の行にも適用するには、いくつか方法があります。
ドラッグフィルは値または数式を1つのセルから他のセルにコピーします。
なお、数式でドラッグフィルを使用すると、セル参照は自動的に新しい配置が反映されます。
例えば上記のようなシートがあり「商品1」の「割引後価格」を以下のような数式で設定します。
=定価1 – (定価1 * 割引率1)
設定した「商品1」の「割引後価格」をドラッグフィルで「商品2」〜「商品5」にも適用してみましょう。
(1)該当セルを選択し、右下にカーソルを合わせると十字マークが表示されます。
(2)そのままドラッグしながらコピーしたい列までカーソルを移動しドロップします。
「商品5」の数式を確認すると、セル参照が新しい配置(5行目)が反映されていることが確認出来ます。
列の数式を使用すると、すべての行に数式を適用することができます。
ただし数式に行番号が指定されたセルを指定することは出来ませんので、@row、列参照、 シート間参照を使用する必要があります。
それでは「消費税」を列の数式で設定する例で説明していきます。
(1)「商品1」の消費税を以下の数式で設定します。
=割引後価格@row – (割引後価格@row * 0.1)
※数式に行番号を指定すると列の数式が設定出来ませんので”@row”を指定しています。
(2)数式を設定したセルを選択後、右クリックしメニューの「列の数式に変換」を指定します。
(3)「商品2」〜「商品5」の「消費税」が表示されました。
※列の数式が設定されると列ヘッダに「fxマーク」が表示されます。(この列が列の数式を設定していることを把握出来ます。)
列の数式を編集したい場合は、セルを選択後、右クリックでメニューを表示し「列の編集」を、「列の数式」から「セルの数式」に戻したい場合は、「セルの式に変換」をクリックします。
Smartsheet では数式を使用して複数のシート間で計算を実行することも可能です。
今回は以下のようなシートで東京の売上高を別シートの売上データから集計する数式を設定していきます。
(1)東京の売上高セルを選択し=SUM(まで入力します。
(2)「別のシートを参照」をクリックします。
(3)「別シートを参照」ダイアログが表示されますので、「東京エリアの売上」シートを検索し選択します。
(4)売上高の行をすべて選択し「参照の挿入」をクリックします。
(5)SUM関数の数式が完成していることを確認し、Enterキーを入力します。
(6)以下のように東京の売上高の数式が完成しました。
今回はSmartsheetの数式と関数の応用的な使用方法について説明しました。数式を使用して計算やデータ処理を自動化し、プロジェクト管理を効率化することができます。是非活用してください。
Implement DigitalではSmartsheet運用支援サービスを提供しています。
ご興味がありましたらお問い合わせください。