excel 如果年份匹配,则对行值求和

w8biq8rn  于 2023-01-06  发布在  其他
关注(0)|答案(1)|浏览(182)

我想根据以下数据将所有年度总数相加:

我在I16中有以下公式
第一个月
不幸的是,这给出了一个0值。我想这可能与日期格式有关,所以我创建了第1行,它在I1中具有公式=YEAR(I2),并复制到右侧。如果我更改SUMIFS以使用日期范围I1:CS1,我会得到相同的结果。
有什么我应该做的格式,使这项工作或有什么根本错误,我的公式?

utugiqy6

utugiqy61#

Here/屏幕截图参考:
根据评论-这可能是由于货币/预计价值字段(第3行)中的数字格式所致。

典型案例

“典型”情况将需要最小调整(在这种情况下,乘以1应足以将文本格式转换为值):

=SUM((--$E$3#)*(1*C8=--$E$1#))

注:根据要求修改以下范围:

  • E3#E3:ER3(预计值[£值,第3行])
  • E1#E1:ER1(时间范围[年,第1行])

这种类型的“格式”差异可能会以多种方式出现-一个常见的示例是从其他地方(HTML/记事本等)复制值,而源值在前面/后面包含额外的空格。另一个示例是Excel应用格式(RE:分隔符等)。这些内容很容易被删除,并且可以使用双重否定进行处理(例如,--C3 = 1*C3表示数值)
但是,如果在投影的“text”值=内有额外的空间(或empty whitespaces),则可能需要更多的“清理”。

最终手段

作为一个思想实验-我包括一个'最终手段'的情况下,剥离任何非数字字符的细胞(无论这些发生在哪里,打印或其他)...每-以下。
这可能有些矫枉过正--但可能会引起人们的兴趣:

=--TEXTJOIN("",1,LET(x_,MID(CLEAN("'"&E3&"'"),SEQUENCE(1,LEN(CLEAN("'"&E3&"'")),1,1),1),y_,UNICODE(x_),FILTER(x_,--(y_<=57)*(y_>=48))))

然后,sumif(典型值)可以应用于行4(而不是行3)。
这需要Office 365兼容版本的Excel(根据需要修改回复:let & remove 'clean'函数/早期版本的外部 Package )

相关问题