重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

A1のセルが「納品」というステータスに変更された際、
B1のセルに変更した日の日付が入るという関数を教えて欲しいです。

よろしくお願いいたします!

A 回答 (2件)

〔 仕様 〕


A列に「納品済み」と入力したら、ステータスが「納品」、今日の日付が表示される。

1. 該当のスプレッドシートの、[メニューバー][ツール][スクリプトエディタ]を選択
2. スクリプトエディタが開くので、すでに記載されているコードは削除して以下のスクリプトを貼り付ける

// ステータスが “納品済み” に変わったら日付を表示する
function myFunction() {
// 今日を取得する
var today = new Date();

// スプレッドシートを取得する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();// Container Bound Script
var sheet = spreadsheet.getSheets()[0];// シート数を指定して取得
var lastRow = sheet.getLastRow();

// シート1のデータを取得する
var table = sheet.getRange(1, 1, lastRow, 2).getValues();
// 1行ずつチェックする
for (var i=0; i < lastRow; i++) {
var row = i + 1;
var status = table[i][0];
var pastDate = table[i][1];
// 納品日を表示する
// 日付の記録が無いとき、日付の記録があるとき
if (status == '納品済み') {
if (pastDate == '' || typeof pastDate == 'object') {
sheet.getRange(row, 1, 1, 2).setValues([['納品', today]]);
}
}
}
}

3. 「保存」ボタンを押す
4. スクリプトエディタ画面の左端にある「時計」マークをクリックしてください
5. トリガー(スクリプト実行のきっかけ)画面になるので、右下の「+トリガーを追加」をクリック
6. 「実行する関数を選択」で myFunction を選択、「イベントの種類を選択」で「変更時」にして「保存」
7.「<>」エディタボタンでエディタにもどって「プロジェクト名」を適当につけて、エディタ画面はそのまま閉じて構いません

※質問等ありましたら答えられる範囲で、お答えします。
「Googleスプレッドシートの関数につい」の回答画像2
    • good
    • 0

ちょっと作ってみるね。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!