问题描述
我正在尝试过滤Google表格上的几对代码,但这是一个值范围。
在原始列上有我拥有的所有代码,我想用过滤器列上的代码创建一个新列。
我试图使用函数过滤器[ filter(A2:A,A2:A B2:B)],但由于它是一个值范围,因此只占用第一行。我也尝试使用查询,但是我遇到了同样的问题。
original filter
Bgk3lUxIRbQ SCjsMoiTv-U
8_yFDcYSbdk RvrH8d-2QC0
video ID L0 vjPEWgAHYn8
TRCAP3URkI0 jWBhOP-hSQo
6iVi8wjA3Ko b2VRWJkNM6g
SBgP0xQCxEM EI7NkW6aF74
qV_i6-NijsE Ls7M5PxM8cc
hQMURWV1EBQ ZY-BR-CZPIs
vrNekZVjQ38
9pjx7n_sIm4
owJQQlp8KLA
Bgk3lUxIRbQ
8_yFDcYSbdk
kPpNi6SHYMk
kqKPXS9wVA4
QUYx8m8HqJA
TkqQbtKuinI
SCjsMoiTv-U
video ID L0
video ID L0
wAsBZ36kDd0
8NS9d806Q8Q
RvrH8d-2QC0
vjPEWgAHYn8
jWBhOP-hSQo
video ID L0
qV_i6-NijsE
hQMURWV1EBQ
TkqQbtKuinI
rhspLssYqug
vjPEWgAHYn8
video ID L0
PHM_q0fqaHo
kqKPXS9wVA4
e5DrB2rz170
b2VRWJkNM6g
EI7NkW6aF74
jWBhOP-hSQo
video ID L0
9pjx7n_sIm4
Bgk3lUxIRbQ
VCfm6jxxfd0
RTlVXL9iyy4
3hxupZ96_iM
Ls7M5PxM8cc
EI7NkW6aF74
ZY-BR-CZPIs
解决方法
自定义功能解决方案:
一种实现方法是为Google表格创建自定义功能。
创建公式:
从“工具”>“脚本编辑器”菜单项中,可以使用以下代码创建函数:
function LISTFILTER(rangeToFilter,itemsToFilter) {
rangeToFilter = rangeToFilter.flat();
itemsToFilter = itemsToFilter.flat();
var filteredList = [];
rangeToFilter.forEach(function(item) {
if (!itemsToFilter.includes(item)) {
filteredList.push(item);
}
});
return filteredList;
}
使用保存图标保存脚本,然后关闭脚本选项卡。
使用功能:
在一个单元格中,您可以按以下方式调用此函数:
=LISTFILTER(RangeToFilter,ListOfItemsToFilter)
例如,如果要从A列中过滤出B列中的所有项目,则可以编写:
=LISTFILTER(A2:A,B2:B)
对于您的示例,将产生以下输出:
在这里,C列填充了A列中的所有数据,但B列中也没有。
我希望这对您有帮助!