投稿

6月, 2019の投稿を表示しています

セル編集後、隣接セルに更新日時を自動的に打刻したい (Googleスプレッドシート)

イメージ
 スクリプトを使って実現します。たとえば、シート1のA列の2行目以降が編集されたら隣のB列のセルに更新日時を打刻するといった例を考えてみます。  まず、「ツール→スクリプトエディタ」からスクリプトエディタを開き、デフォルトのfunction myfunction(){}は削除し、以下のように記述します。 (コード) var ss = SpreadsheetApp.getActiveSpreadsheet(); var sh = ss.getActiveSheet(); function onEdit(e) {   var row = e.range.getRow();   var col = e.range.getColumn();   if (sh.getSheetName() === "シート1" && (row >= 2) && (col === 1)) {     var timestamp = Utilities.formatDate(new Date(),"JST","yyyy/MM/dd"+"("+"HH:mm:ss"+")");     sh.getRange(row, col+1).setValue(timestamp);   } }  保存したら 実行ボタンは押さずに そのままシートに戻ります。 試しにセルA5に何でもいいので入力してみましょう。隣のセルB5に更新日時が打刻されると思います。 (結果)

SPLIT関数 / 文字列を区切り文字で分割する (Googleスプレッドシート)

イメージ
 関数を使わないで「データ」→「テキストを列に分割」と手動でもよいのですが関数を使ったほうが便利な場合もあります。  ExcelだとLEFT関数やFIND関数など、複数の文字列操作関数を使って実現する方法が紹介されていますが、Googleスプレッドシートなら専用のSPLIT関数が用意されており、簡単に実現できます。 (公式) =SPLIT(対象セル, "区切り文字")  たとえば、いまセルA1に「あ,い,う,え,お」とカンマ区切りの数値が入っているとしましょう。これをセルB1から横方向にバラしてみます。 (式) =SPLIT(A1,",") (結果)   SPLIT関数は他の関数に結果を渡すこともでき、たとえば縦方向にバラしたい場合、TRANSPOSE関数に結果を渡します。 (式) =TRANSPOSE(SPLIT(A1, ",")) (結果)