我正在尝试将数据从一张纸组织成几张不同的纸张,例如,如果在我的原始数据表中我有四个人喜欢他们喜欢的食物:
1 | Rice
2 | Pasta
3 | Rice
4 | Cheese
有没有办法对这张纸进行整理,并让所有像米饭一样的人出现在第二张纸上。像“Rice”这样的东西看起来像:
1 | Rice
3 | Rice
基本上尝试进行查找或索引匹配,可以跳过“Pasta”或“Cheese”,而不会在“Rice”表中留下空行。
答案 0 :(得分:0)
我会给你一些开始的东西:
我在这里Sheet2
和function main(){
var sheet = SpreadsheetApp.openById("YOUR_SPREADSHEET_ID");
var ctr = 1;
var sheetRange ="" ;
var myActiveSheet = "";
var my2DArray = getValue("rawSheet!A1:B9");
if(my2DArray){
for( var i =0; i<my2DArray.length; i++){
if(my2DArray[i][1] == "Rice"){
Logger.log((my2DArray[i][0]));
//ctr will ensure the new values don't overwrite the previous values
sheetRange = 'A'+ctr;
//activate the sheet which will contain the 'filtered list'
sheet.setActiveSheet(sheet.getSheets()[2]).getRange(sheetRange).setValue(my2DArray[i][0]);
//make sure the new values don't overwrite the previous values so increment it (row1, row2, row3, etc)
ctr++;
}
}
}
}
//this function will fetch the values from the raw list
function getValue(a1notationString) {
var sheet = SpreadsheetApp.openById("YOUR_SPREADSHEET_ID");
var data = sheet.getRange(a1notationString).getValues();
return data;
}
。 Sheet1包含原始列表,Sheet2将填充过滤后的值。
这是我的代码:
$headers='Content-Type: text/html; charset="UTF-8"';
$from = 'UCVOGUE';
$subject = 'Order Confirmation from UCVOGUE';
$message = '<html>
<body>
<div class="col-md-12 email-box">
<div class="row">
<div class="col-md-2">
<img src="images/clogo.png" width="50%" class="center-block">
</div>
<div class="col-md-8">
<center><h2>Greetings from Ucvogue</h2></center>
</div>
<div class="col-md-2">
<center><h3>Order No:12501468</h3></center>
</div>
</div><hr>
</div>
<div class="row">
<div class="col-md-12">
<table class="table table-bordered">
<thead>
<tr>
<td>Custome:name</td>
<td>Product</td>
<td>Cost</td>
<td>Units</td>
<td>Total Cost</td>
<td>Address:</td>
</tr>
</thead>
<tbody>
<tr>
<td><?php echo $o_cu_name;?></td>
<td><?php echo $o_pro_name;?></td>
<td><?php echo $o_pro_cost;?></td>
<td><?php echo $o_qty;?></td>
<td><?php echo $o_cost;?></td>
<td><?php echo $o_cu_address;?></td>
</tr>
</tbody>
</table>
</div>
</div>
</body>
</html>
';
mail($to,$subject,$message,$headers);
这是 rawSheet (表1 / sheet.getSheets()[1]):
这是 filteredSheet (表2 / sheet.getSheets()[2]):
您会注意到所有吃米饭的名字都被移到 filteredSheet
答案 1 :(得分:0)
你听说过VLOOKUP()吗?这允许您搜索范围并根据匹配列从列中提取值。
来自Google Sheets vlookup(https://www.ablebits.com/office-addins-blog/2017/07/05/vlookup-google-sheets-example/)的第一个Google搜索结果之一:
Google表格VLOOKUP功能的语法如下:
VLOOKUP(search_key,range,index,[is_sorted]) 前3个参数是必需的,最后一个是可选的:
Search_key - 是要搜索的值(查找值或唯一标识符)。例如,您可以搜索单词&#34; apple&#34;,数字10或单元格A2中的值。
范围 - 搜索的两列或更多列数据。 Google表格VLOOKUP函数始终在范围的第一列中搜索。
索引 - 应返回匹配值(与search_key在同一行中的值)的范围内的列号。
范围中的第一列具有索引1.如果index小于1,则Vlookup公式返回#VALUE!错误。如果它大于范围内的列数,VLOOKUP将返回#REF!错误。
Is_sorted - 指示您的Vlookup公式是应该返回最接近的匹配(TRUE)还是完全匹配(FALSE)。
如果is_sorted设置为FALSE,则Vlookup公式将使用完全匹配进行搜索。 如果查找列(范围的第一列)包含2个或更多完全等于search_key的值,则返回找到的第1个值。如果未找到完全匹配,则返回#N / A错误。在大多数情况下,它建议与Vlookup完全匹配。
如果is_sorted为TRUE或省略(默认),则Vlookup公式返回近似匹配。查询列必须按升序排序,即从A到Z或从最小到最大。 具有近似匹配的Vlookup以这种方式工作:公式首先搜索完全匹配。如果未找到完全匹配,则搜索最接近的匹配,该匹配小于或等于search_key。如果查阅列中的所有值都大于搜索键,则返回#N / A错误。