google-sheets - 删除查找列中的空格后,Google 表格数组公式可从另一个表中查找日期
问题描述
(由于我的组织政策,我无法共享样本表。)
我有两张数据表,如下所示:
表 1
表 2
现在,在Sheet1 中,在 C 列中,我正在寻找一个在删除空格后通过匹配子字符串ARRAYFORMULA
来查找 in 的值,然后从 in 的行返回值。Sheet1!A:A
Sheet2!A:A
Sheet2!A:A
Sheet2!B:B
我想出了一个非ARRAYFORMULA
公式来获取每行的数据(Sheet1!C:C
如下所示)。但是我的真实数据集有数千行,我不想将公式复制/粘贴到每个数据集中。
每行都有一个如下所示的公式:
=TEXTJOIN(
", "
, TRUE
, IFNA(
FILTER(
Sheet2!B:B
, Sheet2!B:B <> ""
, Sheet2!A:A <> ""
, NOT(
ISERROR(
SEARCH(
REGEXREPLACE(Sheet2!A:A, " ", "")
, A2
)
)
)
)
, "not found"
)
)
我试图将其转换为ARRAYFORMULA
inSheet1!B2
但它没有产生预期的结果。公式为:
=ArrayFormula(
TEXTJOIN(
", "
, TRUE
, IFNA(
FILTER(
Sheet2!B:B
, Sheet2!B:B <> ""
, Sheet2!A:A <> ""
, NOT(
ISERROR(
SEARCH(
REGEXREPLACE(Sheet2!A:A, " ", "")
, A2:A
)
)
)
)
, "not found"
)
)
)
解决方案
好的,我终于让它与子字符串和SEARCH
.
=Array_Constrain(TRANSPOSE(ArrayFormula(REGEXREPLACE(REGEXREPLACE(SPLIT(TEXTJOIN(", ",1,{ArrayFormula(IFERROR(HLOOKUP("Value",Sheet2!B:B,ArrayFormula(Transpose(SEQUENCE(COUNTA(Sheet2!A2:A),1,2))*(SEARCH(TRANSPOSE(SUBSTITUTE(FILTER(Sheet2!A2:A,LEN(Sheet2!A2:A))," ",)),FILTER(A2:A,LEN(A2:A)))>0)),0))),ArrayFormula(IF(SEQUENCE(COUNTA(A2:A)),";",""))}),", ;",0,0),"^, ",),"^$","not found"))),COUNTA(A2:A),1)
“可读”版本:
=Array_Constrain(
TRANSPOSE(
ArrayFormula(REGEXREPLACE(
REGEXREPLACE(
SPLIT(
TEXTJOIN(
", ",
1,
{
ArrayFormula(IFERROR(
HLOOKUP(
"Value",
Sheet2!B:B,
ArrayFormula(
Transpose(
SEQUENCE(COUNTA(Sheet2!A2:A),1,2)
)*
(SEARCH(
TRANSPOSE(
SUBSTITUTE(
FILTER(
Sheet2!A2:A,
LEN(Sheet2!A2:A)
),
" ",
)
),
FILTER(A2:A,LEN(A2:A))
)>0)
),
0
)
)),
ArrayFormula(IF(
SEQUENCE(COUNTA(A2:A)),
";",
""
))
}
),
", ;",
0,
0
),
"^, ",
),
"^$",
"not found"
))
),
COUNTA(A2:A),
1
)
推荐阅读
- python - Python-Nmap 按列表扫描端口
- javascript - 如何获取使用 onmouseover 在循环中创建的 div 的 ID
- html - Bootstrap 4 - 如何在 modal.backdrop 中删除或编辑不透明度
- python - 有没有办法自动关闭 spark/jupyter 会话
- git - VS Code 中的 Git 提交,没有任何消息
- csv - perl如何去掉逗号
- c# - IL Generate Proxy to User Define Func
- css - pac-container 反应自动完成 - 我如何引用 CSS
- javascript - Node js 中的条件承诺
- c++ - 从鼠标位置数学设置 Actor 世界位置