获取下拉列表的值
Get the Value of the Drop-Down
这是我第一次在 Whosebug 上提问。这是我的问题:
我有一个使用数据验证创建的下拉列表。我想获取下拉列表的值,以便它会更改单元格的值。
到目前为止,这是我的代码。
function onEdit()
{
var s = SpreadsheetApp.getActiveSheet();
if(s.getName() == "TEST")
{
var r = s.getActiveCell();
if(r.getColumn() == 2)
{
var prevCell = r.offset(0, -1);
var total = r.getRange(1,5);
if(r.getValue() == "Add")
{
total = Number(total + prevCell);
}
if(r.getValue() == "Sub")
{
total = Number(total - prevCell);
}
}
}
}
如有任何帮助,我们将不胜感激。谢谢。
我尝试在线查看解决方案,但没有看到任何内容。
如果我对您的目标的理解正确,那么您不需要脚本来执行此操作。一个公式就可以实现这个目标。
在 E1 中,放置此公式:
=SUM(FILTER(A2:A,B2:B="Add"))-SUM(FILTER(A2:A,B2:B="Sub")
如果这不起作用,您可能在国际语言环境中使用分号,而美国使用逗号。在那种情况下,试试这个版本:
=SUM(FILTER(A2:A;B2:B="Add"))-SUM(FILTER(A2:A;B2:B="Sub")
这是我第一次在 Whosebug 上提问。这是我的问题:
我有一个使用数据验证创建的下拉列表。我想获取下拉列表的值,以便它会更改单元格的值。
到目前为止,这是我的代码。
function onEdit()
{
var s = SpreadsheetApp.getActiveSheet();
if(s.getName() == "TEST")
{
var r = s.getActiveCell();
if(r.getColumn() == 2)
{
var prevCell = r.offset(0, -1);
var total = r.getRange(1,5);
if(r.getValue() == "Add")
{
total = Number(total + prevCell);
}
if(r.getValue() == "Sub")
{
total = Number(total - prevCell);
}
}
}
}
如有任何帮助,我们将不胜感激。谢谢。
我尝试在线查看解决方案,但没有看到任何内容。
如果我对您的目标的理解正确,那么您不需要脚本来执行此操作。一个公式就可以实现这个目标。
在 E1 中,放置此公式:
=SUM(FILTER(A2:A,B2:B="Add"))-SUM(FILTER(A2:A,B2:B="Sub")
如果这不起作用,您可能在国际语言环境中使用分号,而美国使用逗号。在那种情况下,试试这个版本:
=SUM(FILTER(A2:A;B2:B="Add"))-SUM(FILTER(A2:A;B2:B="Sub")