如何删除数组并将公式应用于每个单元格
How to Remove Arrays and Apply formula into Each Cell
几天以来我一直在使用这个公式,它帮助我从原始数据中找到完全匹配。
早些时候它给我一个错误 #Value and !
所以我使用 Substitue
函数来消除这些错误。我也需要解决这个问题,这样我就可以删除 subsctitute
我基本上是想在每个单元格上应用这个公式,而不是 Array
我试过了,但是当我删除数组时它不起作用。
我有原始数据,我从中手动复制粘贴相关数据到单元格中,Arrays
打扰它们。
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(UPPER(IFNA(REGEXEXTRACT(IFERROR(SPLIT(LOWER(B2:B), " "),""), LOWER("^"&TEXTJOIN("$|^", 1, 'Key words'!C1:C500)&"$")),""))),,999^99))),"#VALUE",""),"!",""))
如果还有另一个 Exact Match Function
请分享。非常感谢您的帮助。
希望得到一些帮助。谢谢。
您可以在 C3
中使用,然后向下拖动:
加入:
=ARRAYFORMULA(UPPER(JOIN("", IFERROR(REGEXEXTRACT(SPLIT(LOWER(B3), " "), LOWER("^"&TEXTJOIN("$|^", 1, 'Match Criteria'!$B:$B)&"$")), ""))))
文本连接:
=ARRAYFORMULA(UPPER(TEXTJOIN("", TRUE, IFERROR(REGEXEXTRACT(SPLIT(LOWER(B3), " "), LOWER("^"&TEXTJOIN("$|^", 1, 'Match Criteria'!$B:$B)&"$")), ""))))
这只会 return 1 个单元格,因为 JOIN
/TEXTJOIN
在 UPPER
之后,所以它不会写入整列,因此您可以手动输入列中的数据而不影响其他值。
输出:
在 C2 中使用:
={"State"; INDEX(TRIM(FLATTEN(QUERY(TRANSPOSE(
IFERROR(REGEXEXTRACT(SPLIT(B3:B, ", ", 1)&"",
QUERY("×|^"&'Match Criteria'!B2:B100&"$|×",,9^9)))),,9^9))))}
在 D2 中使用:
={"Zip Code"; INDEX(IFNA(VLOOKUP(C3:C,
{'Match Criteria'!B2:B, 'Match Criteria'!A2:A}, 2, 0)))}
几天以来我一直在使用这个公式,它帮助我从原始数据中找到完全匹配。
早些时候它给我一个错误 #Value and !
所以我使用 Substitue
函数来消除这些错误。我也需要解决这个问题,这样我就可以删除 subsctitute
我基本上是想在每个单元格上应用这个公式,而不是 Array
我试过了,但是当我删除数组时它不起作用。
我有原始数据,我从中手动复制粘贴相关数据到单元格中,Arrays
打扰它们。
=ARRAYFORMULA(SUBSTITUTE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(TRANSPOSE(UPPER(IFNA(REGEXEXTRACT(IFERROR(SPLIT(LOWER(B2:B), " "),""), LOWER("^"&TEXTJOIN("$|^", 1, 'Key words'!C1:C500)&"$")),""))),,999^99))),"#VALUE",""),"!",""))
如果还有另一个 Exact Match Function
请分享。非常感谢您的帮助。
希望得到一些帮助。谢谢。
您可以在 C3
中使用,然后向下拖动:
加入:
=ARRAYFORMULA(UPPER(JOIN("", IFERROR(REGEXEXTRACT(SPLIT(LOWER(B3), " "), LOWER("^"&TEXTJOIN("$|^", 1, 'Match Criteria'!$B:$B)&"$")), ""))))
文本连接:
=ARRAYFORMULA(UPPER(TEXTJOIN("", TRUE, IFERROR(REGEXEXTRACT(SPLIT(LOWER(B3), " "), LOWER("^"&TEXTJOIN("$|^", 1, 'Match Criteria'!$B:$B)&"$")), ""))))
这只会 return 1 个单元格,因为 JOIN
/TEXTJOIN
在 UPPER
之后,所以它不会写入整列,因此您可以手动输入列中的数据而不影响其他值。
输出:
在 C2 中使用:
={"State"; INDEX(TRIM(FLATTEN(QUERY(TRANSPOSE(
IFERROR(REGEXEXTRACT(SPLIT(B3:B, ", ", 1)&"",
QUERY("×|^"&'Match Criteria'!B2:B100&"$|×",,9^9)))),,9^9))))}
在 D2 中使用:
={"Zip Code"; INDEX(IFNA(VLOOKUP(C3:C,
{'Match Criteria'!B2:B, 'Match Criteria'!A2:A}, 2, 0)))}