データの入力規則のビルダー。
// 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()
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);
戻る
Data
- このルールの設定に基づくビルダー
get Allow Invalid()
入力データの検証に失敗したときにルールが警告を表示する場合は true
を返します。入力全体を拒否する場合は false
を返します。新しいデータの入力規則のデフォルトは true
です。
戻る
Boolean
- データ入力規則に不合格の入力が許可されている場合は true
、許可されていない場合は false
get Criteria Type()
Data
列挙型で定義されているルールの条件タイプを取得します。条件の引数を取得するには、get
を使用します。これらの値を使用してデータの入力規則を作成または変更するには、with
をご覧ください。
// 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.'); }
戻る
Data
- データ検証条件のタイプ
get Criteria Values()
ルールの条件の引数の配列を取得します。条件のタイプを取得するには、get
を使用します。これらの値を使用してデータの入力規則を作成または変更するには、with
をご覧ください。
// 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[]
- ルールの条件タイプに適した引数の配列。引数の数と型は、Data
クラスの対応する require...()
メソッドと一致します。
get Help Text()
ルールのヘルプテキストを取得します。ヘルプテキストが設定されていない場合は null
を返します。
戻る
String
- ルールのヘルプテキスト。ヘルプテキストが設定されていない場合は null
require Checkbox()
入力がブール値であることを必須とするデータ入力規則を設定します。この値はチェックボックスとしてレンダリングされます。
// 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);
戻る
Data
- チェーン用のこのビルダー
require Checkbox(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
checked | Object | チェックボックスに割り当てられた値。 |
戻る
Data
- チェーン用のこのビルダー
require Checkbox(checkedValue, uncheckedValue)
入力が指定された値のいずれかであることを要求するデータ検証ルールを設定します。入力が checked
の場合、セルはチェックボックスがオンの状態でレンダリングされます。入力が unchecked
の場合、セルはチェックボックスがオフの状態でレンダリングされます。
// 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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
checked | Object | チェックボックスに割り当てられた値。 |
unchecked | Object | チェックされていないボックスに割り当てられた値。 |
戻る
Data
- チェーン用のこのビルダー
require Date()
日付を必須とするデータ検証ルールを設定します。
// 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);
戻る
Data
- チェーン用のこのビルダー
require Date After(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
date | Date | 受け付けられない日付の最終日。 |
戻る
Data
- チェーン用のこのビルダー
require Date Before(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
date | Date | 最も早い不承認日。 |
戻る
Data
- チェーン用のこのビルダー
require Date Between(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
start | Date | 最も早い日付。 |
end | Date | 遅くともこの日付までに提出する必要があります。 |
戻る
Data
- チェーン用のこのビルダー
require Date Equal To(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
date | Date | 唯一許容される日付。 |
戻る
Data
- チェーン用のこのビルダー
require Date Not Between(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
start | Date | 最も早い不承認日。 |
end | Date | 受け付けられない日付の最終日。 |
戻る
Data
- チェーン用のこのビルダー
require Date On Or After(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
date | Date | 最も早い日付。 |
戻る
Data
- チェーン用のこのビルダー
require Date On Or Before(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
date | Date | 遅くともこの日付までに提出する必要があります。 |
戻る
Data
- チェーン用のこのビルダー
require Formula Satisfied(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
formula | String | 入力が有効な場合、true と評価されるカスタム数式。 |
戻る
Data
- チェーン用のこのビルダー
require Number Between(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
start | Number | 許容される最小値。 |
end | Number | 許容される最大値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Equal To(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
number | Number | 許容される唯一の値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Greater Than(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
number | Number | 許容できない最大値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Greater Than Or Equal To(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
number | Number | 許容される最小値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Less Than(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
number | Number | 許容できない最小値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Less Than Or Equal To(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
number | Number | 許容される最大値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Not Between(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
start | Number | 許容できない最小値。 |
end | Number | 許容できない最大値。 |
戻る
Data
- チェーン用のこのビルダー
require Number Not Equal To(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
number | Number | 使用できない唯一の値。 |
戻る
Data
- チェーン用のこのビルダー
require Text Contains(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
text | String | 入力に含める必要がある値。 |
戻る
Data
- チェーン用のこのビルダー
require Text Does Not Contain(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
text | String | 入力に含めることができない値。 |
戻る
Data
- チェーン用のこのビルダー
require Text Equal To(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
text | String | 許容される唯一の値。 |
戻る
Data
- チェーン用のこのビルダー
require Text Is Email()
入力がメールアドレスの形式であることを必須とするデータの入力規則を設定します。
// 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);
戻る
Data
- チェーン用のこのビルダー
require Text Is Url()
入力が 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);
戻る
Data
- チェーン用のこのビルダー
require Value In List(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
values | String[] | 使用できる値の配列。 |
戻る
Data
- チェーン用のこのビルダー
require Value In List(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
values | String[] | 使用できる値の配列。 |
show | Boolean | 値のプルダウン メニューをスプレッドシートに表示する場合は true 、表示しない場合は false 。 |
戻る
Data
- チェーン用のこのビルダー
require Value In Range(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
range | Range | 有効な値を含む範囲。 |
戻る
Data
- チェーン用のこのビルダー
require Value In Range(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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
range | Range | 有効な値を含む範囲。 |
show | Boolean | 値のプルダウン メニューをスプレッドシートに表示する場合は true 、表示しない場合は false 。 |
戻る
Data
- チェーン用のこのビルダー
set Allow Invalid(allowInvalidData)
入力データの検証に失敗した場合に警告を表示するか、入力全体を拒否するかを設定します。新しいデータの入力規則のデフォルトは true
です。
パラメータ
名前 | 型 | 説明 |
---|---|---|
allow | Boolean | データ検証に失敗した入力をルールで許可する場合は true 、許可しない場合は false です。 |
戻る
Data
- チェーン用のこのビルダー
set Help Text(helpText)
データ検証が設定されているセルにユーザーがカーソルを合わせたときに表示されるヘルプテキストを設定します。
パラメータ
名前 | 型 | 説明 |
---|---|---|
help | String | 設定するヘルプテキスト。 |
戻る
Data
- チェーン用のこのビルダー
with Criteria(criteria, args)
データ検証ルールを、Data
値で定義された条件に設定します。通常、既存のルールの criteria
と arguments
から取得されます。
// 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);
パラメータ
名前 | 型 | 説明 |
---|---|---|
criteria | Data | データ検証条件のタイプ。 |
args | Object[] | 条件のタイプに適した引数の配列。引数の数と型は、上記の対応する require...() メソッドと一致します。 |
戻る
Data
- チェーン用のこのビルダー