我在根据特定条件在 Google 表格中设置条件下拉列表时遇到问题。以下是我想要实现的目标以及遇到的问题:
如果满足以下条件,我想在列中创建下拉列表:
- 条件 01: 同一行的 E 列中的值应为以下指定值之一:
T1、T2、T3、T4、T5、T6、P1、P2、P3、B1 或 B2。
- 条件 2:
下拉选项应来自“SEO Validación Datos”表。具体来说,数据应来自“SEO Validación Datos”中第 6 行开始的列,但前提是该表第 2 行中的值为“HOME”。
最后,我想使用条件格式,如果“SEO”工作表 C 列中的值等于 Primary,则以红色显示下拉选项;如果值等于 Secundaria,则以蓝色显示下拉选项。 SEO Validación 表中可能需要进行一些更改,但我目前不知道如何进行。
https://docs.google.com/spreadsheets/d/1KIgP7u9yS_w3DjBnXwHUkHuqLaR9zmdlaRbbOWt1q3I/edit?usp=sharing
我尝试使用数据验证功能根据“SEO Validación Datos”工作表的值创建下拉列表。我能够设置下拉菜单,但是:
我尝试使用公式
=IF(或(E3=“T1”,E3=“T2”,E3=“T3”,E3=“T4”,E3=“T5”,E3=“T6”,E3=“P1”,E3= “P2”,E3 =“P3”,E3 =“B1”,E3 =“B2”),G3,“”)
在辅助列中有条件地显示值。
但是,这种方法仅显示值,并不应用下拉功能。
我尝试将 REGEXMATCH 与其他公式结合起来以有条件地显示下拉选项,但在根据动态条件显示下拉列表时遇到困难。
任何人都可以提供有关如何在 Google 表格中实现此目标的解决方案或指南吗?
在“理想结果 - 主页”工作表下,有我希望实现的目标的预览。
获取正确范围似乎存在一些问题。因此,对于这一点,我建议您删除正在尝试使用的工作表范围上当前现有的数据验证,以避免验证重叠。
function applyDropdown(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var homeSheet = ss.getSheetByName("Expected Result - Home")
var vsSheetData = ss.getSheetByName("Validación Scripts").getRange("A4:A8");
var columnH = homeSheet.getRange(4,5,homeSheet.getLastRow(), 1);
var columnHValues = columnH.getValues().flat();
var validValues = ['T1', 'T2', 'T3', 'T4', 'T5', 'T6', 'P1', 'P2', 'P3', 'B1', 'B2']
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(vsSheetData).build();
for(x = 0; x <columnHValues.length; x++){
if(columnHValues[x] != "" && validValues.includes(columnHValues[x])){
homeSheet.getRange(x+4, 8).setDataValidation(rule);
}
}
}