8. 行の移動とコピー

行の移動とコピーとは

プロジェクトが複数のシートにまたがる場合、行の移動および行のコピーのワークフローを用いた自動化により、作業アイテムをあるシートから別のシートに手動で移動するすることなく自動で移動等できます。
例えば、以下のような利用ケースが考えられます。

  • 新しいリクエストや注文などが到着したら担当者に共有されているシートに移す。
  • 適切なタイミングで、アイテムを次のプロジェクト フェーズまたはチームにシームレスに移行する。
  • 完了した作業を自動的にアーカイブする。

行を移動すると関係のある行だけを含むシートを作ることができるので、チームは最も関係のない情報に気を散らすことなく、関連性の高い作業アイテムに集中できます。 移動された行は対象シートに追加され、元のシートから削除されます。

複数のシートで作業アイテムの記録を保持する必要がある場合は、行のコピを使います。この場合、コピー元のシートから行は削除されず、コピー先のシートに重複項目が追加されます。

行の移動とコピーの利用ケースの詳細

行の移動を利用する典型的なケースは「アーカイブ」と個別シートへの行の振り分けで「複数のシートで記録を管理する場合」です。

行のコピーを利用する典型的な場合は、上記の「複数のシートで記録を管理する場合」で、すべての情報を含むマスターシートを残しておく場合です。

行のコピーの利用のやや上級者的な使い方に「更新者、更新日時を保存する場合」があります。行のステータスが変化する場合に、そのログを取る場合などが考えられます。

アーカイブ

行の移動と行のコピーを自動化したワークフローにより、作業をより迅速に進め、アーカイブすることができます。

例えば、支社の活動記録をシートで管理している場合、年度が変わった場合に、シートの利用方法を統一していないと、同じシートにインデントを設けて過去の年度の情報を記録する支社と年度毎に新たなシートを作成する支社とが混在するなどして、全社で統一的な使い方ができなくなります。

このような場合、年度が変わるたびに、過去の年度の行を個別のアーカイブ用のシートに移動するようにしてワークフローを設定しておけば、このような混乱を避けることができます。(なお、年度をまたがった業務に対応するために、半年たったら行をアーカイブするなどの設定も可能です。)

下のビデオではTo Do リストで、済のリストをアーカイブします。

タスクリストのアーカイブの解説ビデオ

複数のシートで記録を管理する必要がある場合

ワークフロー。行の移動は、チームが最も関連性の高いワークアイテムに集中できるようにします。

例えば以下のような例が考えられます。

  1. 調達リクエストがフォーム経由でシートに送信される。
  2. リクエストの詳細情報を追加し、リクエストを IT チームに割り当てる。
  3. IT マネージャーがリクエストを承認する。
  4. 調達リクエストを含む行が自動的に現在使用中の IT プロジェクト シートに移動し、次のアクションを待つ。

ITリクエストを分類ごとのシートに振り分ける例のビデオ

マスターシートを共有するとセキュリティー上の問題がある場合

シート単位で共有する場合、マスターシートに共有をするとセキュリティー上の問題がある場合、一定の基準で個別のシートにコピーすることによって、個別シートの共有を受けたユーザーはそのシートのみにアクセスできるので、マスターシートの他の情報へのアクセスを与えないで済みます。

レポートでログインユーザにかかる行だけを見せる場合は、結局元のシートを共有する必要があるので、この目的を行うにはダッシュボードなどを使う必要があります。(→ダッシュボード、レポート公開により元のシートを共有せずに特定の情報を閲覧可能とする)行のコピーの方法では、その問題がありません。

更新者、更新日時のデータを保存する

更新者、更新日時のデータはその行が変更されるたびに変更されます。それらの列の履歴を見れば過去の過去の更新者、更新日時のデータにアクセスすることは可能ですが、セルの履歴は自動化や関数では参照できません。

行のコピーを行うことにより、コピー先のシートでは更新者、更新日時のデータが作成者、作成日時として保持されるので、その行の更新でデータが書き換えられる心配がありません。

ログを取るとき

どのような場合に「更新者、更新日時のデータを保存するために行をコピー」するかというと、例えば、ログをとるときに用いることができます。

例えば、勤怠アプリを作るとして、出勤、中座、復帰、退勤というステータスを同じ行の中の列でドロップダウンリストにより変更していくとします。

このステータスが変更されるたびに、行のコピーを行うと、それらのステータスが起こった日時を記録することができます。この場合、行にIDを振っておくと良いです。このIDを頼りに、同じIDの行の出勤、中座、復帰、退勤の日時情報を取得すれば、例えば、退勤日時-出勤日時-(復帰日時-中座日時)により勤務時間を求めることができます。

ワークフローの概要

元のシートでの手順:

  1. 新しいワークフローを作成し、ワークフローのトリガーと条件を設定します。
  2. [アクションを選択] ボックスで、[行を移動] または [行をコピー] を選択します。
  3. [行を移動] または [行をコピー] で、[シートの選択] を選択します。
  4. [シートの選択] ダイアログで、対象のシートを選択し、[OK] を選択します。

ワークフローは移動、コピーの元のシート側に作る

ワークフローの作成と編集は、常にソースシート上で行います。既存の自動ワークフローにアクションを追加したり、新しいワークフローを立ち上げることができます。

ワークフローに追加することも、ゼロから新しいワークフローを作成することもできます。

トリガーの選択

ワークフローに名前を付け、特定の日付や行の特定の情報が変更されたときなど、実行するタイミングを指定します。

複数のシートにまたがる数式またはセル・リンクを含むセルはトリガーに使えない

無限の承認ループを防ぐため、複数のシートにまたがる数式またはセル リンクを含むセルでは、シートを自動的に変更する自動化アクション (行の移動、行のコピー、行のロック、行ロックの解除、承認リクエスト) をトリガーしません。 これを回避するには、時間ベースの自動化または定期的なワークフローの使用を検討してください。

条件の設定

トリガーを選択した後特定の場合にのみワークフローを実行したい場合は、条件を指定するオプションがあります。

次に、アクションの一覧から「行の移動」または「行のコピー」を選択します。

ソースシートと移動、コピー先の両方のシートに管理権限移譲が必要

行の移動とコピーを行うには、移動先のシートの管理者権限が必要です。自動化されたワークフローの中で、複数の操作を簡単に組み合わせることができます。

他のアクションとの組み合わせ

複数のアクションを同じ自動化されたワークフローで組み合わせることも可能です。例えば、「承認をリクエスト」のアクションによりシートの行が承認されたら、「行を移動」または「行をコピー」のアクションで、その行をアーカイブシートに移動またはコピーするといった使い方ができます。

シート間での行の自動移動またはコピー

行の移動」または「行のコピー」というアクションを使用すると、条件を満たした場合に行を自動的に別のシートに移動またはコピーすることができます。 たとえば、以下のような例が考えられます。


シート間の行の移動と行のコピーについて知っておきたいこと

シート間での行の移動またはコピーを行う際には、次の点に留意してください。

セルの履歴は移動の場合は保持、コピーの場合にはコピー先には保持ない

  • シート間で行を移動する場合:
  • シート間で行をコピーする場合:
    • コピーした行は元のシートから削除されずに、コピー先のシートに追加されます。
    • セルの履歴はコピー先のシートでは保持されません。
行のコピーでセル履歴にかかるセキュリティー上のリスクを回避

セルの履歴はCloudsmartが検証したところ、ライセンスなし閲覧権限のみのユーザも参照可能です。これは過去の履歴を関係者に見せるべきでない場合、セキュリティー上のリスクとなります。

これを回避する一つの方法に、行のコピーを用いる方法があります。

下に見るように行のコピーの場合は、セルの履歴はコピー先のシートでは保持されないので、閲覧権限を見せたくないユーザには、コピー先のシートを共有することすれば、このセキュリティー上の懸念は解消されます。

その他の留意事項

  • 移動またはコピーされた行は対象シートの下部にあり、選択して別の場所にドラッグできます。
  • 行の添付ファイル/リンクやコメントは、自動的に対象シートに移動されます。
  • 行の数式は、対象シートで静的な値に置き換えられます。
  • 対象シートにはない列が元のシートに含まれている場合、このような列は、行の移動/コピー時に対象シートに自動的に作成されます。

システム列またはベースライン列を含む行を移動またはコピーする場合

  • 列が対象シートに存在するが元のシートには存在しない場合、[作成者] 列には、行が移動またはコピーされた日付/時刻が含まれます。
  • [作成者] 列には、行を移動またはコピーしたユーザーが表示されます。 行が自動化によって移動またはコピーされた場合は、automation@smartsheet.com と表示されます。
  • 列が対象シートと元のシートの両方に存在する場合、元のシートの値が対象シートに引き継がれます。 他の列タイプとは異なり、列名は一致する必要はありません。

システム列の移動、コピーの際のエラー

システム列またはベースライン列の名前が、異なる列タイプ (ドロップダウン、文字列/数値など) の列と一致する場合、次のエラーが発生する可能性があります。

列の名前が元のシートのシステム列と同じであるため、対象シートに行を追加できません。

システム列の移動先、コピー先に同名のタイプの違う列があるとエラーとなる
システム列の移動先、コピー先に同名のタイプの違う列があるとエラーとなる

システム列の名前が元のシートの列と同じであるため、対象シートに行を追加できません。

元のシートに作成者(連絡先)の列があり、コピー先のシートに同名の作成者(システム列)があり、エラー
元のシートに作成者(連絡先)の列があり、コピー先のシートに同名の作成者(システム列)があり、エラー

システム列の移動、コピーの際のエラーの解消方法

これを解決するには、システム列にかかる移動、コピーのルール違反を解消する必要があります。

  • システム列と同じ趣旨の別のタイプの列をどちらかで持つ必要がある場合
    • 問題を起こしているシステム列の 移動元、移動先のどちらか1 つの名前を変更する、
      • 例えば、元シートの作成者(システム列)、移動先に例えば、作品の作成者という趣旨で、作成者(連絡先)の列を持ちたい場合、移動先の作成者(連絡先)を元シートと異なる作品の作成者(連絡先)に変更すればエラーは解消される
  • 「システム列と同じ列名」を元シートと移動等先シートで保持する場合
    • 元のシートと一致するように列タイプをする
      • 例、元シート(作成者、システム列) vs  移動等先シート(作成者、連絡先、ドロップダウンリスト等) の場合は、移動等先シートの列タイプを作成者(システム列)に直す

更新者、更新日時は移動、コピー先で独自の更新データを保持する

テストの結果、更新日時、更新者については、以下のような移動先で独自更新データを保持する挙動をする。

  • 移動、コピー時
    • 更新日時は双方で同一
    • 更新者は移動先でオートメーション( automation@smartsheet.com)
  • 移動先で独自に更新時
    • 移動先での更新データが記録される
      • 更新日時は更新先での更新日時
      • 更新者は人が行った場合はオートメーション( automation@smartsheet.com) でなくなる。(例、someone@clodsmart.jp) 。
    • なお、セルの色を変更しただけでは更新情報は変更されない。