【发布时间】:2016-06-17 19:24:28
【问题描述】:
我的电子表格的 A 列中有一个数据集,如下所示,我现在需要将百分比值移动到名称所在行的 B 列。
A
1 John
2 100%
3 Mike
4 100%
5 Paul
6 100%
7 Ken
8 100%
我需要每隔一行移到一个新列,所以它应该看起来像这样
A B
1 John 100%
2 Mike 100%
3 Paul 100%
4 Ken 100%
6 John 100%
7 John 100%
我尝试了几种不同的方法,但我无法让它发挥作用!
任何帮助将不胜感激。
编辑
包括我尝试过的一些代码,我正在使用 reg。表达式过滤掉一些其他数据,然后我需要对百分比值进行移位。
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sortSheet = ss.getSheetByName("Sheet1");
var lastRow = sortSheet.getLastRow();
var searchData = sortSheet.getRange(1,1,lastRow,1).clear({formatOnly:true})
.setNumberFormat('@STRING@').getValues();
var regExp = new RegExp ('^[0-9]{2} [A-Za-z]{3} [0-9]{4}$');
for(var y =searchData.length - 1; y >= 0 ; y--) {
if(regExp.test(searchData[y])) {
var rowIndex = (y); Logger.log("Row index" + rowIndex)
sortSheet.deleteRow(rowIndex + 2).deleteRow(rowIndex + 1);
}
}
var searchData2 = sortSheet.getRange(1,1,lastRow,1).getValues();
var regExp2 = new RegExp ('^[0-9]{2}%$');
for(var x =searchData2.length ; x >= 0 ; x--) {
if(regExp2.test(searchData[x])) {
var getPercentage = new Array;
var rowIndex2 = (x); Logger.log("Row index" + rowIndex2)
var temp = searchData2[x];
getPercentage.push([searchData2]); Logger.log(getPercentage)
}
}
var paste = sortSheet.getRange(1, 2, getPercentage.length,
1).setValues(getPercentage)
}
这不是我发布此问题之前删除的确切代码。
请随时就如何改进我的代码向我提出一些建议。 (我两周前刚开始学习 Javascript)
【问题讨论】:
-
你为什么不分享一些你的方法?
-
请分享你最近的尝试,让我们看到你已经付出了一些努力。毕竟,这是一个问答网站,而不是一个代码编写网站......
-
已添加代码。我一开始没有添加它,因为它根本不起作用,而且我知道对于有经验的人来说,我需要实现的目标相对简单。我不想浪费别人的时间阅读无用的代码。