结合countifs和left函数的Excel
我有一个清单,我正在对照主要数据检查 主要数据如下所示:结合countifs和left函数的Excel,excel,countif,Excel,Countif,我有一个清单,我正在对照主要数据检查 主要数据如下所示: 1234 1 1235 1 1234 1 1213 2 1231 2 1212 2 1231 3 1231 3 etc ID 123 1 3 2 1 3 2 etc 我正在对照主要数据检查的列表是: 1 2 3 etc 对于列表中的每个数字,我想计算以123开头的数字,因此输出如下所示: 1234 1 1235 1 1234 1 1213 2 1231 2 1212 2 1231 3 1231
1234 1
1235 1
1234 1
1213 2
1231 2
1212 2
1231 3
1231 3
etc
ID 123
1 3
2 1
3 2
etc
我正在对照主要数据检查的列表是:
1
2
3
etc
对于列表中的每个数字,我想计算以123开头的数字,因此输出如下所示:
1234 1
1235 1
1234 1
1213 2
1231 2
1212 2
1231 3
1231 3
etc
ID 123
1 3
2 1
3 2
etc
我已经有了列表中的每个ID。要向下拖动每个数字,我当前有
countifs(a1:a8,a1,b1:b8,“123”)
,它显然产生了一个错误。我知道我需要在这里的某个地方包含left
,但我不确定在哪里或如何添加。非常感谢。在主数据表中,添加一列并输入公式,例如:C1=IF(左(A1,3)=“123”,1,0)
。拖动每个C单元格的公式。然后在列表表的SUMIFS
中使用该C单元格,例如:=SUMIFS(C:C,B:B,“=”&E1)
E col for me是您的列表
请参考下面的截图
编辑:
另一个解决方案:=SUMPRODUCT(-(左(Maindata!$A$1:$A$8,3)=“123”)*(Maindata!$B$1:$B$8=Maindata!D1))
。这个解决方案对我很有效
在主数据表中,添加一列并输入公式,例如:
C1=IF(左(A1,3)=“123”,1,0)
。拖动每个C单元格的公式。然后在列表表的SUMIFS
中使用该C单元格,例如:=SUMIFS(C:C,B:B,“=”&E1)
E col for me是您的列表
请参考下面的截图
编辑:
另一个解决方案:=SUMPRODUCT(-(左(Maindata!$A$1:$A$8,3)=“123”)*(Maindata!$B$1:$B$8=Maindata!D1))
。这个解决方案对我很有效
您可以使用某种产品来实现这一点:
=sumproduct((主数据!$A$1:$A$8=A1)*(左(主数据!$B$1:$B$8)=“123”)
其中A1表示您正在确定的“以123开头的值”的数量,主数据位于工作表Maindata中,范围A1:B8。您可以使用某种产品来完成此操作:
=sumproduct((主数据!$A$1:$A$8=A1)*(左(主数据!$B$1:$B$8)=“123”)
其中A1代表您正在确定的“以123开头的值”数量,主数据在工作表Maindata中,范围A1:B8。您的数据是文本形式还是数值形式?如果是前者,您的标准应该是
“123*”
(使用星号表示通配符),如果是后者,您可以使用“>1230”
将数据转换为文本或数值形式?如果是前者,您的标准应该是“123*”
(使用星号表示通配符),如果是后者,您可能可以使用“>1230”
出于某种原因,这只会输入一个具有123的永久id,即使范围内有多个?@user47467此公式输入B1:B3,A1:A3持有OPs示例中所示的列表,表Maindata A1:B8中的样本数据正好给出了OP要求的输出。请详细说明?这一个确实可以向下拖动,因为对主数据的引用是绝对的,而ID引用不是。出于某种原因,这只输入1个有123的永久ID,即使在范围内有多个?@user47467此公式输入B1:B3,A1:A3持有OPs示例中所示的列表,表Maindata A1:B8中的样本数据正好给出了OP要求的输出。请详细说明?这一个确实可以拖下来,因为对主数据的引用是绝对的,而ID引用不是。我想这是一种黑客的方式:我正在添加另一个解决方案。这对我来说很好。我想这是一个很难做到的方法:我正在添加另一个解决方案。这对我来说很好。