Google表格中的正则表达式总和

问题描述

在我的Google电子表格文档中,我有一个帐单表,其中的日期为J列,金额为P列。我想建立另一个表,按年(一排=一年)汇总这些账单。 P列中的内容类似于"3245,20 EUR"

这是我尝试过的公式(在此示例中,S5应该是总和,而R5应该是特定年份的数值):

S5=SUMIF(YEAR($J$5:$J),R5,VALUE(REGEXEXTRACT($P$5:$P,"^([0-9]+,[0-9]{2}) EUR$")))

这不起作用。有什么办法吗?谢谢。

解决方法

您可以使用以下公式

=SUM(QUERY({A2:A,ArrayFormula(VALUE(REGEXEXTRACT(SUBSTITUTE(B2:B,","."),"^([0-9]+\.[0-9]{2}) EUR$")))},"select Col2 where year(Col1)="&A1&""))

我们必须使用SUBSTITUTE的原因是因为看起来价格值来自不同的区域。

(请根据您的需要调整范围)

enter image description here

使用的功能: