这是我在Excel公式中面临的问题
在 F 列中,我想找到 A2 到 E2(包含空白)的通用文本
我的问题: 有没有一种简单的方法可以在没有 VB 的情况下获得结果? 任何帮助表示赞赏,谢谢
答案 0 :(得分:0)
我发现谷歌表格有一些非常酷的功能。
如果您将公式 =SPLIT(A1, ",", TRUE,FALSE)
放在常见文本行之后的单元格中(或者甚至可能放在不同的工作表中 - “可能是因为没有尝试过,尽管应该这样做),接下来的 x 个单元格 (其中 x 是 A1 中 "," 的数量 - 因为 "," 是分隔符) 将是文本。
然后您可以将代码 =IF(SUM(ARRAYFORMULA(if(REGEXMATCH($A$1:$D$1,F1),1,0)))=COUNTA($A$1:$D$1),F1,"")
放入相同数量的单元格之后(可能应该放入最大数量),并将 =CONCATENATE(I1:L1)
放入最后一个单元格。
好的。所以要自己调整一下:我发现 ARRAYFORMULA 可以让你在函数内部放置一个数组来代替单个单元格。它究竟是如何工作的,我把它读成一个 for 循环。但我真的不能保证。但在这里它可以让你有 REGEXMATCH(这是对你给它的单元格的布尔检查,如果它包含给定的 REGEX)检查数组中的每个单元格。
sum 会将它们相加,if 将与 COUNTA 匹配以查找包含此字符串的数组中的单元格数量是否等于非空单元格的数量。
最后的连接将所有单元格(包含正则表达式函数)加在一起,并且由于唯一的非空单元格将是带有字符串的单元格,这就是该单元格将返回的内容(无空格)。>
如果您特别需要 Excel...这无济于事。
答案 1 :(得分:0)
我们可以使用电源查询来达到预期的效果。
Text.contains
。
示例函数:=Text.Contains([column.1],[column.1]&[column.2]&[column.3])
TRUE
,则获取第一列结果(这是预期结果)并将数据加载回您的excel