Excel:统计某个范围的行中出现的值

Excel:统计某个范围的行中出现的值,excel,matrix,excel-formula,boolean,row,Excel,Matrix,Excel Formula,Boolean,Row,在Excel中,我需要一个公式,根据行是否包含特定值返回布尔向量。例如,一个范围(n×m矩阵)包含1到100的随机数。我想根据数字41是否在行中出现得到布尔向量。如果矩阵被命名为“矩阵”,则结果将是一个长度为行(矩阵)的向量 =AGGREGATE(2,6,[Array]=41) 您可以使用索引公式获取布尔值数组,如果愿意,可以在另一个公式中使用该数组 INDEX(A2:O2=41,) MMULT(N(范围=A1),转置(列(范围))>0 其中A1包含您的搜索值,例如41 根据需要修改范围 这

在Excel中,我需要一个公式,根据行是否包含特定值返回布尔向量。例如,一个范围(n×m矩阵)包含1到100的随机数。我想根据数字41是否在行中出现得到布尔向量。如果矩阵被命名为“矩阵”,则结果将是一个长度为
行(矩阵)

的向量

=AGGREGATE(2,6,[Array]=41)

您可以使用索引公式获取布尔值数组,如果愿意,可以在另一个公式中使用该数组

INDEX(A2:O2=41,)
MMULT(N(范围=A1),转置(列(范围))>0

其中
A1
包含您的搜索值,例如41

根据需要修改范围

这可能需要使用
CSE
提交,具体取决于所使用的构造

作为示例,让我们假设范围在这里
B1:F4
,具有以下值:

40444140

44 40 44

44 44 43 40 41

43424445

本部分:

B1:F4=A1

只需返回布尔值
TRUE
/
FALSE
项数组,以确定范围内的每个项是否等于
A1
中的值,即:

{FALSE,FALSE,TRUE,TRUE,FALSE;FALSE,FALSE,FALSE,FALSE,TRUE;FALSE,FALSE,FALSE,FALSE,FALSE}

然后,
N
函数将这些布尔值强制转换为它们的等效数值,即
TRUE
=
1
FALSE
=
0
,以便:

N(B1:F4=A1)

给出:

{0,0,1,1,0;0,0,0,0,0;0,0,0,0,1;0,0,0,0,0}

我们可以看到1出现在第1行和第3行中(在第1行中不止一次)。由于这是一个4行乘5列的数组,因此将矩阵与5行乘1列的数组(其项为非零)相乘将生成一个4行乘1列的数组,其中每行中的项受矩阵乘法定律的约束,因此:

MMULT(N(B1:F4=A1),转置(列(B1:F4)))

即:

MMULT({0,0,1,1,0;0,0,0,0,0;0,0,0,1;0,0,0,0}),转置(列(B1:F4))

i、 e:

MMULT({0,0,1,1,0;0,0,0,0,0;0,0,0,1;0,0,0,0,0}),转置({2,3,4,5,6}))

i、 e:

MMULT({0,0,1,1,0;0,0,0,0,0;0,0,0,0,1;0,0,0,0},{2;3;4;5;6})

即:

{9;0;6;0}

最后,我们检查这些条目中哪些是非零的,以便:

MMULT(N(B1:F4=A1),转置(列(B1:F4)))>0

即:

{9;0;6;0}>0

给出:

{TRUE;FALSE;TRUE;FALSE}


关于

?否。不返回布尔值数组。您将如何处理该布尔值数组?您会在另一个公式中使用它吗?不会。您的示例已经是一行并返回一行。我想要一个n×m矩阵,它为每一行返回一个布尔值。那么数据范围和矩阵范围是什么?结果应该是一个长度行的向量(A2:O20)。否。您的示例返回与[array]大小相同的范围。我有一个n乘m的矩阵。我想要一个公式,返回大小为行([array])的布尔向量。我向你们鞠躬。惊人的答案
MMULT
不在解决此问题的范围内。你能解释一下你的答案吗,特别是我不懂
转置(列(范围))