公式中“联合”运算符的MS Excel本地化问题

我试图build立一个Excel的公式,将在不同的工作表上的几个数组进行查找。 所以我试图将所有数组连接成一个,并使用union运算符来join数组。 这看起来像

=SUMPRODUCT(Sheet0!A1:A10,Sheet1!A1:A10 ; array2 ...) 

不知道这个公式是否工作,因为我的窗口框configurationFR_CA语言环境,使用分号作为列表分隔符(至less这是我最好的猜测),任何逗号出现一个错误框(无效的公式)。

我试图使用命名范围来解决问题,最好是我的命名范围返回#VALUE

  • 定义List0为Sheet0!A1:A10和List1为Sheet1!A1:A10
  • 而且还尝试用逗号和分号将List定义为“= Sheet0!A1:A10,Sheet1!A1:A10”,添加和删除括号

注1:我尽我所能地不使用VBA注2:我甚至试图改变Windows的“列表分隔符”首选项回到逗号,没有改变

那么任何人都可以帮助解决三个问题:

  • 假设我可以使用联合运算符,build议我使用公式本身
  • 帮助我规避地区问题:法国联盟运营商是什么?
  • 帮助我将我的语言环境更改为允许使用逗号的任何内容

联合运算符不返回数组,它返回由多个区域组成的范围,并且各个范围必须位于同一个工作表上。 联合运算符符号与函数参数分隔符相同(即英文locale中的逗号或欧洲语言环境中的分号),并且如果放置在函数参数中,则引用需要括在括号内。 例如,这将返回B1:B10的总和:

 =SUM(INDEX((Sheet1!A1:A10,Sheet1!B1:B10),,,2)) 

为了连接由单列到数组组成的范围,可以在函数参数中使用以下语法: CHOOSE({1,2,...},Col1,Col2,...) ,例如:

 =SUMPRODUCT(--(CHOOSE({1,2},Sheet1!A1:A10,Sheet2!A1:A10)="abc"), CHOOSE({1,2},Sheet1!B1:B10,Sheet2!B1:B10))