0
我想在每个后续数字后面的每个数字后面加上+1,从我输入的数字开始自动。将每个数字加1到后续数字以确定优先级列表
例如:
- 我有在列20行
- 我有编号的每一行,1-20
- 我决定#17(接骨木)应该应优先为#6
- 我改变数字17到数字6(步骤1)
- 水果排名6变为#7,#7使〜#8,等等,直到#20(步骤2)**
- 所有号码#6前s为不受影响
我想在每个后续数字后面的每个数字后面加上+1,从我输入的数字开始自动。将每个数字加1到后续数字以确定优先级列表
例如:
我想这完成你想要的。
function onEdit(e)
{
if(e.source.getActiveSheet().getName()=='Sheet3' && e.range.getColumn()==1 && e.value != e.oldValue)
{
var sh=e.source.getActiveSheet();
var row=e.range.getRow();
//Logger.log(row);
var vA=sh.getDataRange().getValues();
for(var i=1;i<vA.length;i++)
{
if(Number(e.value) > Number(e.oldValue))
{
//Logger.log('flag up e.value=%s > e.oldValue=%s',e.value,e.oldValue);//moving up
if(Number(i+1)!=row && vA[i][0]>e.oldValue && vA[i][0]<=e.value)
{
//Logger.log('decr vA[%s][0]=%s',i,vA[i][0]);
vA[i][0]=vA[i][0]-1;
}
}
if(Number(e.value) < Number(e.oldValue))
{
//Logger.log('flag down e.value=%s < e.oldValue=%s',e.value,e.oldValue);//moving down
if(Number(i+1)!=row && vA[i][0]>=e.value && vA[i][0]<e.oldValue)
{
//Logger.log('incr vA[%s][0]=%s',i,vA[i][0]);
vA[i][0]=vA[i][0]+1;
}
}
}
sh.getDataRange().setValues(vA);
var rg=sh.getRange(2,1,vA.length-1,vA[0].length).sort({column:1,ascending:true});
}
}
这里就是我的电子表格看起来像:
谢谢,我会检查并标记它应该工作! – jrembold
一些解决方法:A1' =行()'拖累向下填充至A20;现在移动整行(17)并将其带到(6) –
代码的哪部分给你带来悲伤?请张贴一些代码,以便我们可以看到问题所在。 –