具有“或”和“右”功能的求和产品

问题描述

A列中的ID如“ 1.23.1”。第一个和最后一个数字是我用来标识要查找的ID的数字。中间数字的范围是1到999,因此ID可以是“ 1.1.1”或“ 1.231.1。”。此信息仅对表明并非所有ID都具有相同数量的字符很重要。

我需要添加B列中与我要查找的ID匹配的数字。

A ----------- B

1.21.1 ------------ 5

1.314.2 ---------- 6

2.2.1 ------------- 3

我得到一个#VALUE!以下公式有误。 = SUMPRODUCT(OR((RIGHT(A4:A6,1)=“ 1”)+ 0,RIGHT(A4:A6,1)=“ 2”)+ 0,LEFT(A4:A6,1)=“ 1” ,B4:B6

我想添加5和6,因为它们的ID都以1或2结尾并以1开头。

Example

enter image description here

解决方法

=SUMPRODUCT((LEFT(A4:A6)="1")*((RIGHT(A4:A6)="1")+(RIGHT(A4:A6)="2"))*B4:B6)

使用OR函数将仅返回一个值;因此,您的数组长度将不会全部相同;因此出现#VALUE!错误。

使用加法将为每个单元格返回OR测试的数组,而不是整个数组的单个OR

如果要将函数与单独的数组一起使用,则可以将每个测试数组转换为等效的数字数组(如您的示例所示),可以使用:

=SUMPRODUCT(N(LEFT(A4:A6)="1"),N((RIGHT(A4:A6)="1")+(RIGHT(A4:A6)="2")),B4:B6)

enter image description here