
[英]How can I convert '+' character to a regular expression for REGEXMATCH in Google Sheets?
[英]How can I separate people per groups on Google Sheets
我希望你做得很好。 我希望有人可以帮助解决这个问题。
我有两组人“A”和“B”
两个小组从事相同的任务
但我想在另一张纸上加上“@”; 分成两组(A组和B组),两组混合(一般)
有谁知道我怎样才能自动将它们分成 A 组和 B 组? 我想知道是否可以使用匹配公式和 if 公式,我尝试这样做但没有成功。 任务可能会有所不同,但不会因组而异,因此最好的办法是获取公式或任何自动添加每个组的人的方法。
作为附加信息,我使用此公式来获得一般结果: =IFNA(JOIN(", ";QUERY('Sheet 1':A3;E12;"select A where B = TRUE";0));"")
这是我一直用来尝试执行此操作的 Google 表格:
https://docs.google.com/spreadsheets/d/14fdQJcIuqFTfo8upNOtALk0vhQYjSM0d8nYRML4amuM/edit?usp=sharing
任何帮助都非常感谢。 谢谢!
B10:
=ARRAYFORMULA(TRIM(FLATTEN(QUERY(TRANSPOSE(XLOOKUP(SPLIT(B3:B6; "@ ");
IF('Sheet 3'!B3:B12; 'Sheet 3'!A3:A12; ); "@"&'Sheet 3'!A3:A12;;; 1));;9^9))))
B17:
=ARRAYFORMULA(TRIM(FLATTEN(QUERY(TRANSPOSE(XLOOKUP(SPLIT(B3:B6; "@ ");
IF('Sheet 3'!C3:C12; 'Sheet 3'!A3:A12; ); "@"&'Sheet 3'!A3:A12;;; 1));;9^9))))
粘贴此公式
在Sheet2
单元格A2
, A9
, A16
=ArrayFormula(IF(SUMPRODUCT('Sheet 1'!B3:E)=0;;IFERROR({ "General"\ " ";
TRANSPOSE({ 'Sheet 1'!B2:E2;BYCOL(
IF('Sheet 1'!B3:E12<>TRUE;;"@"&'Sheet 1'!A3:A12);
LAMBDA(v; TEXTJOIN(" "; 1;v)))})};"")))
=ArrayFormula(IFERROR({ SPLIT('Sheet 3'!B1&" "&'Sheet 3'!B2&", " ; ",");
TRANSPOSE({ 'Sheet 1'!B2:E2;
BYCOL(IF(FILTER('Sheet 1'!B3:E; 'Sheet 3'!B3:B=TRUE)<>TRUE;;"@"&'Sheet 1'!A3:A);
LAMBDA(v; TEXTJOIN(" "; 1;v)))}) };""))
=ArrayFormula(IFERROR({ SPLIT('Sheet 3'!B1&" "&'Sheet 3'!C2&", " ; ",");
TRANSPOSE({ 'Sheet 1'!B2:E2;
BYCOL(IF(FILTER('Sheet 1'!B3:E; 'Sheet 3'!C3:C=TRUE)<>TRUE;;"@"&'Sheet 1'!A3:A);
LAMBDA(v; TEXTJOIN(" "; 1;v)))}) };""))
使用的功能
ARRAYFORMULA
- BYCOL
TRANSPOSE
IF
- LAMBDA
- TEXTJOIN
只需使用regex替换一般类别中的对立组:
对于 A 组,替换 B:
=ARRAYFORMULA(REGEXREPLACE(B3:B6,"@"&JOIN("( |$)|@",FILTER(Sheet3!A3:A12,Sheet3!C3:C12)),))
其中B3:B6
是 General 类别的值列, Sheet3
包含 Groups。
这会创建一个正则表达式
@P1( |$)|@P2( |$)|@P5( |$)|@P6( |$)|@P8( |$)|@P10
这是@
后跟任何组P1
并后跟空格或字符串结尾( |$)
。 要使其正常工作,请避免在人员名称中使用正则表达式元字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.