google-sheets - 在谷歌表格中使用 UNIQUE 公式时是否有排除某些行的方法
问题描述
我每 30 分钟通过解析器将销售订单数据输入谷歌表格,然后我使用独特的公式将独特的销售行提取到另一张表格中,但我遇到了问题。
由于我们的系统,某些订单可能需要长达 24 小时才能在我们的系统中正确转换为实际销售,并且这些订单以“N/A”作为销售订单编号。当这些确实转换并获得销售数字时,两个条目都使用独特的公式,因为它们在技术上是独一无二的,但会导致销售总额增加。
有没有办法“排除”这些销售订单号为“N/A”的销售行?
我每行的数据字段是:
Customer Number, Cust Name, City, Item Name, Created Time/Date, Increment ID (sales order number).
解决方案
FILTER
方法 1 -为电子表格使用函数
假设它Increment ID (Sales Order)
在F
列中并且您的电子表格看起来像这样,您可以使用一个FILTER
函数来过滤结果,方法是只选择不N/A
包含Increment ID (Sales Order)
.
=FILTER(A1:F6,F1:F6<>"N/A");
是A1:A6
指整个表中数据的范围,F1:F6
是对应于包含 的列的范围Increment ID (Sales Order)
。
方法 2 - 使用 Apps 脚本
Apps Script 是一个功能强大的开发平台,可用于构建 Web 应用程序和自动化任务。它的特别之处在于它易于使用并易于创建与 G Suite 集成的应用程序。
因此,以下用 Apps Script 编写的脚本可用于解决您的问题:
function removeRows() {
var sheet = SpreadsheetApp.getActive().getSheetByName("NAME_OF_YOUR_SHEET");
var data = sheet.getDataRange();
var numRows = data.getNumRows();
var vals = data.getValues();
var rowsDel = 0;
for (var i = 0; i <= numRows - 1; i++) {
var data= vals[i];
if (data[5] == 'N/A') {
sheet.deleteRow((i+1) - rowsDel);
rowsDel++;
}
}
}
上面的脚本通过删除包含列中N/A
值的行来工作F
。
此外,我建议您检查以下链接,因为它们可能会有所帮助:
推荐阅读
- batch-file - 如何从循环内部设置全局变量
- xamarin.forms - Xamarin Forms 从 GridLength Star 或 Auto 获取绝对值
- firebase - 在 Firestore 中查询具有类型引用的文档
- ionic-framework - _co.gotoArchivePage 不是函数
- c# - UWP IoT 如何添加自定义字体
- c# - 在 Linux 上使用单声道的 C# 代码的 CIL 级调试器
- selenium - selenium 网格 Safari 替代方案(Docker 节点)?
- java - 我在编写阶乘程序时遇到困难
- html - 如何删除 h1 上方的空格?
- python - 执行在 python 中创建的应用程序时出现致命的 Python 错误