Class DataValidationBuilder

データの検証ビルダー

データの入力規則のビルダー。

// Set the data validation for cell A1 to require a value from B1:B10.
const cell = SpreadsheetApp.getActive().getRange('A1');
const range = SpreadsheetApp.getActive().getRange('B1:B10');
const rule =
    SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

メソッド

メソッド戻り値の型概要
build()DataValidationビルダーに適用された設定からデータ入力規則を作成します。
copy()DataValidationBuilderこのルールの設定に基づいて、データ入力規則のビルダーを作成します。
getAllowInvalid()Boolean入力データの検証に失敗したときにルールが警告を表示する場合は true を返します。入力全体を拒否する場合は false を返します。
getCriteriaType()DataValidationCriteriaDataValidationCriteria 列挙型で定義されているルールの条件タイプを取得します。
getCriteriaValues()Object[]ルールの条件の引数の配列を取得します。
getHelpText()Stringルールのヘルプテキストを取得します。ヘルプテキストが設定されていない場合は null を返します。
requireCheckbox()DataValidationBuilder入力がブール値であることを必須とするデータ入力規則を設定します。この値はチェックボックスとして表示されます。
requireCheckbox(checkedValue)DataValidationBuilder入力が指定された値または空白であることを必須とするデータ検証ルールを設定します。
requireCheckbox(checkedValue, uncheckedValue)DataValidationBuilder入力が指定された値のいずれかであることを要求するデータ検証ルールを設定します。
requireDate()DataValidationBuilder日付を必須とするデータ検証ルールを設定します。
requireDateAfter(date)DataValidationBuilder指定した値より後の日付を必須とするデータの入力規則を設定します。
requireDateBefore(date)DataValidationBuilder指定した値より前の日付を必須とするデータ入力規則を設定します。
requireDateBetween(start, end)DataValidationBuilder指定した 2 つの日付の間にある日付、または指定した 2 つの日付のいずれかを必須とするデータの入力規則を設定します。
requireDateEqualTo(date)DataValidationBuilder指定した値と同じ日付を必須とするデータ検証ルールを設定します。
requireDateNotBetween(start, end)DataValidationBuilder指定した 2 つの日付の範囲内ではない日付を必須とするデータの入力規則を設定します。
requireDateOnOrAfter(date)DataValidationBuilder指定した値以降の日付を必須とするデータ入力規則を設定します。
requireDateOnOrBefore(date)DataValidationBuilder指定した値より前の日付を必須とするデータ入力規則を設定します。
requireFormulaSatisfied(formula)DataValidationBuilder指定された数式が true と評価されるようにデータの入力規則を設定します。
requireNumberBetween(start, end)DataValidationBuilder指定した 2 つの数値の範囲内にある数値またはそのいずれかを必須とするデータの入力規則を設定します。
requireNumberEqualTo(number)DataValidationBuilder指定した値と同じ数値を必須とするデータ検証ルールを設定します。
requireNumberGreaterThan(number)DataValidationBuilder指定した値より大きい数値を必須とするデータ入力規則を設定します。
requireNumberGreaterThanOrEqualTo(number)DataValidationBuilder指定された値以上の数値を必須とするデータ検証ルールを設定します。
requireNumberLessThan(number)DataValidationBuilder指定した値より小さい数値を必須とするデータ入力規則を設定します。
requireNumberLessThanOrEqualTo(number)DataValidationBuilder指定された値以下の数値を必須とするデータ検証ルールを設定します。
requireNumberNotBetween(start, end)DataValidationBuilder指定した 2 つの数値の範囲内でも、2 つの数値でもない数値を必須とするデータ検証ルールを設定します。
requireNumberNotEqualTo(number)DataValidationBuilder指定した値と異なる数値を必須とするデータ検証ルールを設定します。
requireTextContains(text)DataValidationBuilder入力に指定された値が含まれていることを必須とするデータの入力規則を設定します。
requireTextDoesNotContain(text)DataValidationBuilder入力に指定された値が含まれていないことを必須とするデータの入力規則を設定します。
requireTextEqualTo(text)DataValidationBuilder入力が指定された値と等しいことを必須とするデータ検証ルールを設定します。
requireTextIsEmail()DataValidationBuilder入力がメールアドレスの形式であることを必須とするデータの入力規則を設定します。
requireTextIsUrl()DataValidationBuilder入力が URL 形式であることを必須とするデータ検証ルールを設定します。
requireValueInList(values)DataValidationBuilder入力が指定された値のいずれかに等しくなることを要求するデータの入力規則を設定します。
requireValueInList(values, showDropdown)DataValidationBuilder入力値が指定された値のいずれかに等しくなることを要求するデータの入力規則を設定します。プルダウン メニューを非表示にすることもできます。
requireValueInRange(range)DataValidationBuilder入力が指定された範囲内の値と等しいことを必須とするデータ入力規則を設定します。
requireValueInRange(range, showDropdown)DataValidationBuilder入力が指定された範囲内の値と等しくなることを必須とするデータ検証ルールを設定します。プルダウン メニューを非表示にすることもできます。
setAllowInvalid(allowInvalidData)DataValidationBuilder入力データの検証に失敗した場合に警告を表示するか、入力全体を拒否するかを設定します。
setHelpText(helpText)DataValidationBuilderデータ検証が設定されているセルにユーザーがカーソルを合わせたときに表示されるヘルプテキストを設定します。
withCriteria(criteria, args)DataValidationBuilderデータ検証ルールを、DataValidationCriteria 値で定義された条件に設定します。通常は、既存のルールの criteriaarguments から取得します。

詳細なドキュメント

build()

ビルダーに適用された設定からデータ入力規則を作成します。

戻る

DataValidation - データの入力規則を表す


copy()

このルールの設定に基づいて、データ入力規則のビルダーを作成します。

// Change existing data validation rules that require a date in 2013 to require
// a date in 2014.
const oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
const newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
const rules = range.getDataValidations();

for (let i = 0; i < rules.length; i++) {
  for (let j = 0; j < rules[i].length; j++) {
    const rule = rules[i][j];

    if (rule != null) {
      const criteria = rule.getCriteriaType();
      const args = rule.getCriteriaValues();

      if (criteria === SpreadsheetApp.DataValidationCriteria.DATE_BETWEEN &&
          args[0].getTime() === oldDates[0].getTime() &&
          args[1].getTime() === oldDates[1].getTime()) {
        // Create a builder from the existing rule, then change the dates.
        rules[i][j] = rule.copy().withCriteria(criteria, newDates).build();
      }
    }
  }
}
range.setDataValidations(rules);

戻る

DataValidationBuilder - このルールの設定に基づくビルダー


getAllowInvalid()

入力データの検証に失敗したときにルールが警告を表示する場合は true を返します。入力全体を拒否する場合は false を返します。新しいデータの入力規則のデフォルトは true です。

戻る

Boolean - データ入力規則に不合格の入力が許可されている場合は true、許可されていない場合は false


getCriteriaType()

DataValidationCriteria 列挙型で定義されているルールの条件タイプを取得します。条件の引数を取得するには、getCriteriaValues() を使用します。これらの値を使用してデータの入力規則を作成または変更するには、withCriteria(criteria, args) をご覧ください。

// Log information about the data validation rule for cell A1.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = cell.getDataValidation();
if (rule != null) {
  const criteria = rule.getCriteriaType();
  const args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.');
}

戻る

DataValidationCriteria - データ検証条件のタイプ


getCriteriaValues()

ルールの条件の引数の配列を取得します。条件のタイプを取得するには、getCriteriaType() を使用します。これらの値を使用してデータの入力規則を作成または変更するには、withCriteria(criteria, args) をご覧ください。

// Log information about the data validation rule for cell A1.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = cell.getDataValidation();
if (rule != null) {
  const criteria = rule.getCriteriaType();
  const args = rule.getCriteriaValues();
  Logger.log('The data validation rule is %s %s', criteria, args);
} else {
  Logger.log('The cell does not have a data validation rule.');
}

戻る

Object[] - ルールの条件タイプに適した引数の配列。引数の数と型は、DataValidationBuilder クラスの対応する require...() メソッドと一致します。


getHelpText()

ルールのヘルプテキストを取得します。ヘルプテキストが設定されていない場合は null を返します。

戻る

String - ルールのヘルプテキスト。ヘルプテキストが設定されていない場合は null


requireCheckbox()

入力がブール値であることを必須とするデータ入力規則を設定します。この値はチェックボックスとしてレンダリングされます。

// Set the data validation for cell A1 to require a boolean value; the value is
// rendered as a checkbox.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireCheckbox().build();
cell.setDataValidation(rule);

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireCheckbox(checkedValue)

入力が指定された値または空白であることを必須とするデータ検証ルールを設定します。入力値が指定された値と一致すると、セルはチェックボックスがオンの状態でレンダリングされます。入力が空白の場合、セルはチェックボックスがオフの状態でレンダリングされます。

// Set the data validation for cell A1 to require a custom checked value that is
// rendered as a checkbox.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireCheckbox('APPROVED').build();
cell.setDataValidation(rule);

パラメータ

名前説明
checkedValueObjectチェックボックスに割り当てられた値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireCheckbox(checkedValue, uncheckedValue)

入力が指定された値のいずれかであることを要求するデータ検証ルールを設定します。入力が checkedValue の場合、セルはチェックボックスがオンの状態でレンダリングされます。入力が uncheckedValue の場合、セルはチェックボックスがオフの状態でレンダリングされます。

// Set the data validation for cell A1 to require custom checked values that are
// rendered as a checkbox.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireCheckbox('APPROVED', 'PENDING')
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
checkedValueObjectチェックボックスに割り当てられた値。
uncheckedValueObjectチェックされていないボックスに割り当てられた値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDate()

日付を必須とするデータ検証ルールを設定します。

// Set the data validation for cell A1 to require a date.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireDate().build();
cell.setDataValidation(rule);

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateAfter(date)

指定した値より後の日付を必須とするデータの入力規則を設定します。Date オブジェクトの時間フィールドは無視され、日、月、年のフィールドのみが使用されます。

// Set the data validation for cell A1 to require a date after January 1, 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateAfter(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
dateDate受け付けられない日付の最終日。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateBefore(date)

指定した値より前の日付を必須とするデータ入力規則を設定します。Date オブジェクトの時間フィールドは無視され、日、月、年のフィールドのみが使用されます。

// Set the data validation for cell A1 to require a date before January 1, 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateBefore(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
dateDate最も早い不承認日。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateBetween(start, end)

指定した 2 つの日付の間にある日付、または指定した 2 つの日付のいずれかを必須とするデータの入力規則を設定します。Date オブジェクトの時刻フィールドは無視され、日、月、年フィールドのみが使用されます。

// Set the data validation for cell A1 to require a date in 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation()
        .requireDateBetween(new Date('1/1/2013'), new Date('12/31/2013'))
        .build();
cell.setDataValidation(rule);

パラメータ

名前説明
startDate最も早い日付。
endDate遅くともこの日付までに提出する必要があります。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateEqualTo(date)

指定した値と同じ日付を必須とするデータ検証ルールを設定します。Date オブジェクトの時刻フィールドは無視され、日、月、年のフィールドのみが使用されます。

// Set the data validation for cell A1 to require a date equal to January 1,
// 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateEqualTo(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
dateDate唯一許容される日付。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateNotBetween(start, end)

指定した 2 つの日付の範囲内ではない日付を必須とするデータの入力規則を設定します。Date オブジェクトの時刻フィールドは無視され、日、月、年のフィールドのみが使用されます。

// Set the data validation for cell A1 to require a date not in 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation()
        .requireDateNotBetween(new Date('1/1/2013'), new Date('12/31/2013'))
        .build();
cell.setDataValidation(rule);

パラメータ

名前説明
startDate最も早い不承認日。
endDate受け付けられない日付の最終日。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateOnOrAfter(date)

指定した値以降の日付を必須とするデータ入力規則を設定します。Date オブジェクトの時刻フィールドは無視され、日、月、年のフィールドのみが使用されます。

// Set the data validation for cell A1 to require a date on or after January 1,
// 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateOnOrAfter(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
dateDate最も早い日付。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireDateOnOrBefore(date)

指定した値より前の日付を必須とするデータ入力規則を設定します。Date オブジェクトの時刻フィールドは無視され、日、月、年のフィールドのみが使用されます。

// Set the data validation for cell A1 to require a date on or before January 1,
// 2013.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireDateOnOrBefore(new Date('1/1/2013'))
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
dateDate遅くともこの日付までに提出する必要があります。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireFormulaSatisfied(formula)

指定された数式が true と評価されるようにデータの入力規則を設定します。

// Set the data validation for cell A1 to equal B1 with a custom formula.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireFormulaSatisfied('=EQ(A1,B1)')
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
formulaString入力が有効な場合、true と評価されるカスタム数式。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberBetween(start, end)

指定した 2 つの数値の範囲内にある数値またはそのいずれかを入力するよう、データの入力規則を設定します。

// Set the data validation for cell A1 to require a number between 1 and 10.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberBetween(1, 10).build();
cell.setDataValidation(rule);

パラメータ

名前説明
startNumber許容される最小値。
endNumber許容される最大値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberEqualTo(number)

指定された値と同じ数値を必須とするデータ検証ルールを設定します。

// Set the data validation for cell A1 to require a number equal
// to 3.1415926536.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberEqualTo(Math.PI).build();
cell.setDataValidation(rule);

パラメータ

名前説明
numberNumber許容される唯一の値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberGreaterThan(number)

指定した値より大きい数値を必須とするデータ入力規則を設定します。

// Set the data validation for cell A1 to require a number greater than 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberGreaterThan(0).build();
cell.setDataValidation(rule);

パラメータ

名前説明
numberNumber許容できない最大値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberGreaterThanOrEqualTo(number)

指定された値以上の数値を必須とするデータ検証ルールを設定します。

// Set the data validation for cell A1 to require a number greater than or equal
// to 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireNumberGreaterThanOrEqualTo(0)
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
numberNumber許容される最小値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberLessThan(number)

指定した値より小さい数値を必須とするデータ入力規則を設定します。

// Set the data validation for cell A1 to require a number less than 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberLessThan(0).build();
cell.setDataValidation(rule);

パラメータ

名前説明
numberNumber許容できない最小値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberLessThanOrEqualTo(number)

指定された値以下の数値を必須とするデータ検証ルールを設定します。

// Set the data validation for cell A1 to require a number less than or equal to
// 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireNumberLessThanOrEqualTo(0)
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
numberNumber許容される最大値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberNotBetween(start, end)

指定した 2 つの数値の範囲内でも、指定した 2 つの数値でもない数値を必須とするデータ入力規則を設定します。

// Set the data validation for cell A1 to require a number not between 1 and 10.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberNotBetween(1, 10).build();
cell.setDataValidation(rule);

パラメータ

名前説明
startNumber許容できない最小値。
endNumber許容できない最大値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireNumberNotEqualTo(number)

指定された値と異なる数値を必須とするデータ検証ルールを設定します。

// Set the data validation for cell A1 to require a number not equal to 0.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireNumberNotEqualTo(0).build();
cell.setDataValidation(rule);

パラメータ

名前説明
numberNumber使用できない唯一の値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireTextContains(text)

入力に指定された値が含まれていることを必須とするデータの入力規則を設定します。

// Set the data validation for cell A1 to require any value that includes
// "Google".
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireTextContains('Google').build();
cell.setDataValidation(rule);

パラメータ

名前説明
textString入力に含める必要がある値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireTextDoesNotContain(text)

入力に指定された値が含まれていないことを必須とするデータの入力規則を設定します。

// Set the data validation for cell A1 to require any value that does not
// include "@".
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireTextDoesNotContain('@').build();
cell.setDataValidation(rule);

パラメータ

名前説明
textString入力に含めることができない値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireTextEqualTo(text)

入力が指定された値と等しくなるようにデータ検証ルールを設定します。

// Set the data validation for cell A1 to require "Yes".
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule =
    SpreadsheetApp.newDataValidation().requireTextEqualTo('Yes').build();
cell.setDataValidation(rule);

パラメータ

名前説明
textString許容される唯一の値。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireTextIsEmail()

入力がメールアドレスの形式であることを必須とするデータの入力規則を設定します。

// Set the data validation for cell A1 to require text in the form of an email
// address.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireTextIsEmail().build();
cell.setDataValidation(rule);

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireTextIsUrl()

入力が URL 形式であることを必須とするデータ検証ルールを設定します。

// Set the data validation for cell A1 to require text in the form of a URL.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation().requireTextIsUrl().build();
cell.setDataValidation(rule);

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireValueInList(values)

入力が指定された値のいずれかに等しくなるようにデータの入力規則を設定します。

// Set the data validation for cell A1 to require "Yes" or "No", with a dropdown
// menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireValueInList(['Yes', 'No'])
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
valuesString[]使用できる値の配列。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireValueInList(values, showDropdown)

入力値が指定された値のいずれかに等しくなることを要求するデータの入力規則を設定します。プルダウン メニューを非表示にすることもできます。

// Set the data validation for cell A1 to require "Yes" or "No", with no
// dropdown menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const rule = SpreadsheetApp.newDataValidation()
                 .requireValueInList(['Yes', 'No'], false)
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
valuesString[]使用できる値の配列。
showDropdownBoolean値のプルダウン メニューをスプレッドシートに表示する場合は true、表示しない場合は false

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireValueInRange(range)

入力が指定された範囲内の値と等しいことを必須とするデータ入力規則を設定します。

// Set the data validation for cell A1 to require a value from B1:B10, with a
// dropdown menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const range = SpreadsheetApp.getActive().getRange('B1:B10');
const rule =
    SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

パラメータ

名前説明
rangeRange有効な値を含む範囲。

戻る

DataValidationBuilder - チェーン用のこのビルダー


requireValueInRange(range, showDropdown)

入力が指定された範囲内の値と等しくなることを必須とするデータ入力規則を設定します。プルダウン メニューを非表示にすることもできます。

// Set the data validation for cell A1 to require value from B1:B10, with no
// dropdown menu.
const cell = SpreadsheetApp.getActive().getRange('A1');
const range = SpreadsheetApp.getActive().getRange('B1:B10');
const rule = SpreadsheetApp.newDataValidation()
                 .requireValueInRange(range, false)
                 .build();
cell.setDataValidation(rule);

パラメータ

名前説明
rangeRange有効な値を含む範囲。
showDropdownBoolean値のプルダウン メニューをスプレッドシートに表示する場合は true、表示しない場合は false

戻る

DataValidationBuilder - チェーン用のこのビルダー


setAllowInvalid(allowInvalidData)

入力データの検証に失敗した場合に警告を表示するか、入力全体を拒否するかを設定します。新しいデータの入力規則のデフォルトは true です。

パラメータ

名前説明
allowInvalidDataBooleanデータ検証に失敗した入力をルールで許可する場合は true、許可しない場合は false です。

戻る

DataValidationBuilder - チェーン用のこのビルダー


setHelpText(helpText)

データ検証が設定されているセルにユーザーがカーソルを合わせたときに表示されるヘルプテキストを設定します。

パラメータ

名前説明
helpTextString設定するヘルプテキスト。

戻る

DataValidationBuilder - チェーン用のこのビルダー


withCriteria(criteria, args)

データ検証ルールを、DataValidationCriteria 値で定義された条件に設定します。通常、既存のルールの criteriaarguments から取得されます。

// Change existing data validation rules that require a date in 2013 to require
// a date in 2014.
const oldDates = [new Date('1/1/2013'), new Date('12/31/2013')];
const newDates = [new Date('1/1/2014'), new Date('12/31/2014')];
const sheet = SpreadsheetApp.getActiveSheet();
const range = sheet.getRange(1, 1, sheet.getMaxRows(), sheet.getMaxColumns());
const rules = range.getDataValidations();

for (let i = 0; i < rules.length; i++) {
  for (let j = 0; j < rules[i].length; j++) {
    const rule = rules[i][j];

    if (rule != null) {
      const criteria = rule.getCriteriaType();
      const args = rule.getCriteriaValues();

      if (criteria === SpreadsheetApp.DataValidationCriteria.DATE_BETWEEN &&
          args[0].getTime() === oldDates[0].getTime() &&
          args[1].getTime() === oldDates[1].getTime()) {
        // Create a builder from the existing rule, then change the dates.
        rules[i][j] = rule.copy().withCriteria(criteria, newDates).build();
      }
    }
  }
}
range.setDataValidations(rules);

パラメータ

名前説明
criteriaDataValidationCriteriaデータ検証条件のタイプ。
argsObject[]条件のタイプに適した引数の配列。引数の数と型は、上記の対応する require...() メソッドと一致します。

戻る

DataValidationBuilder - チェーン用のこのビルダー