If statement 我如何在Google工作表上为多个单元格(包括固定单元格和可变单元格)应用Arrayformula?

If statement 我如何在Google工作表上为多个单元格(包括固定单元格和可变单元格)应用Arrayformula?,if-statement,google-sheets,sum,google-sheets-formula,array-formulas,If Statement,Google Sheets,Sum,Google Sheets Formula,Array Formulas,我想在Google Sheets上的工作表中应用一个arrayformula,当我将公式下拉到下面的单元格中时,它会很好地工作。但是因为我有很多数据,我需要使用这个公式的arrayformula,我找不到一个解决方案如何将变量单元格(在这个例子中是B11和C11)应用到它下面的所有单元格 截图应该能很好地解释我的问题 此处是指向我的文件的链接: 输出在绿色字段中,如下所示: =ARRAYFORMULA(MMULT( IF(IF(INDIRECT("B11:B"&COUNTA(B11

我想在Google Sheets上的工作表中应用一个arrayformula,当我将公式下拉到下面的单元格中时,它会很好地工作。但是因为我有很多数据,我需要使用这个公式的arrayformula,我找不到一个解决方案如何将变量单元格(在这个例子中是B11和C11)应用到它下面的所有单元格

截图应该能很好地解释我的问题

此处是指向我的文件的链接:

输出在绿色字段中,如下所示:

=ARRAYFORMULA(MMULT(
 IF(IF(INDIRECT("B11:B"&COUNTA(B11:B)+10)>TRANSPOSE(B4:B7),
    IF(INDIRECT("C11:C"&COUNTA(C11:C)+10)>TRANSPOSE(C4:C7), 1, 0), 0)=1,
 IF(IF(TRANSPOSE(K4:K7)>TRANSPOSE(J4:J7), 1, 0)=1, 1, 0), 0), {1; 1; 1; 1}))


情况是这样的:

=ARRAYFORMULA(MMULT(
 IF(IF(INDIRECT("B11:B"&COUNTA(B11:B)+10)>TRANSPOSE(B4:B7),
    IF(INDIRECT("C11:C"&COUNTA(C11:C)+10)>TRANSPOSE(C4:C7), 1, 0), 0)=1,
 IF(IF(TRANSPOSE(K4:K7)>TRANSPOSE(J4:J7), 1, 0)=1, 1, 0), 0), {1; 1; 1; 1}))



共享一份包含所需输出示例的工作表副本共享一份包含所需输出示例的工作表副本如果我将范围(在示例中是B4:B7和C4:C7)扩展到B4:B1000和C4:C1000,我会得到错误“结果数组太大”。我还在末尾添加了足够的“1;”。有办法解决这个问题吗?你能分享你的工作表吗?检查组合!啊,我现在明白了。您的数组非常庞大(16000多行),MMULT无法一次性处理所有数据,因此您需要将公式分成以下小块:哇,太好了,您成功了!非常感谢你。如果您现在告诉我必须在哪里添加0和1,当我要为“Data”中的所有5列添加If语句时,您就是我的英雄。如果我将范围(在示例中是B4:B7和C4:C7)扩展到B4:B1000和C4:C1000,我会得到错误“结果数组太大”。最后我还添加了足够的“1;”。有办法解决这个问题吗?你能分享你的工作表吗?检查组合!啊,我现在明白了。您的数组非常庞大(16000多行),MMULT无法一次性处理所有数据,因此您需要将公式分成以下小块:哇,太好了,您成功了!非常感谢你。如果您现在告诉我必须在哪里添加0和1,当我要为“Data”中的所有5列添加If语句时,您就是我的英雄。