我在Google表格中有一个带有正则表达式匹配的ARRAYFORMULA,我需要将其转换为Excel。
工作表公式为:=ARRAYFORMULA(IF(regexmatch(E2:E,"Call"),100*(I2:I*D2:D),""))
但我在Excel里调试不了。
该公式检查列E以查看第x行的单元格是否包含文本“call”。如果是,则将列(I)单元格中的值乘以列(D)单元格中的值。
编辑
L2具有下式:=IF(ISNUMBER(FIND("Call",E2:E10)),100*D2:D10*I2:I10,"")
也试过这个:=IF(E2:E8="Call",100*L3D2:D8*I2:I8,"")
两者都返回溢出错误,我不知道我会有多少行,所以公式无论如何都不起作用。
1条答案
按热度按时间qaxu7uf21#
Fn 1- Regex等效*(填充,区分大小写过滤器)*
这为Regex函数提供了以下功能:
1.案例保存(i.即
"A" <> "a"
等。)1.允许填充(i.即“12-呼叫”、“呼叫xyz”等。也将匹配)
版本:请参阅here示例文件(根据下面的屏幕截图,它显然是“工作”的-注意任何“溢出”错误都是由于函数下面的某些东西造成的-仅在单个单元格中输入函数-其他单元格将自动填充-这是一个数组函数)-如果您没有使用Excel 365,则使用此函数,并将其包含在表中:
很可能您使用的是365 Office兼容版本的Excel(因为旧版本没有“溢出!“功能-在这种情况下,你可以简单地输入以下功能在一个单一的单元格,并按回车!☺
我的解决方案的其余部分(实际上与上面的相同,减去表项选项)现在恢复:
Fn 2- Alternative****FYI(严格相等)
虽然本Q的范围不包括变化-为了感兴趣,我提供了1个简单的示例。这与上面的函数不同,因为它增加了“严格相等”的限制(即:即没有“填充”)。..
最后评论
我相信范围
E2:E
,I2:I
是动态的(我可能搞错了),但如果不是,这里有几种在Excel中实现相同的替代方法:E2:offset(E2, counta(E2:E100) -1,0)
如果动态范围是重要的-您也可以使用Excel中的表格)。e.导航到:* (文件|选择|公式|'在公式中使用表名(如果需要)*