大家好吧
更新
你知道吗,我应该让你知道我实际上是想用数字而不是字母表来做这件事。例如,我有一个像225566这样的值的字段,我试图找出其中有55个字段。直到现在我才意识到这可能会产生巨大的差异
ColumnA | ColumnB |
225566 | 2
125589 | 3
95543 | 2
(以下是我先问及后来发现我没有问正确的问题。) *假设我有一张桌子
ColumnA | ColumnB |
AABBC | 2
AADDC | 3
ZZBBC | 2现在我怎样才能为那些列A中有BB字段的行获取SUMIF?假设有数百行。我意识到我必须从文本到列的方式从概念上借用一些东西。但我想知道是否有人会知道如何做到这一点。非常感谢。*
答案 0 :(得分:2)
由于您尝试对数字执行此操作,因此您需要使用数组公式。
如果您的测试值在A3:A5中,并且您的总和值在B3:B5中,则可以使用:
=SUM( IF(ISERROR(FIND("55", TEXT(A3:A5,"#"))), 0, 1) * B3:B5 )
输入数组公式时,请使用Ctrl-Shift-Enter而不是按Enter键。
它将和值的乘积与IF()语句中的0或1相加,后者测试每个测试值在转换为文本后是否包含“55”。
答案 1 :(得分:2)
我认为你需要一个矩阵/数组公式来做到这一点:
{= SUM(IF(ISERROR(芬登( “55”; A2:A4; 1)); 0; 1))}
奇怪的brakets {}表示它是一个矩阵公式,你可以通过在编辑公式时按SHIFT + CTRL + RETURN而不是Return来获得它们。
此公式将在A2:A4范围内循环,检查内部是否找到“55”,如果是,则在总和中加1。
Google数组/矩阵公式,因为它们不能自我解释。
最佳
扬
答案 2 :(得分:1)
在Excel 2003和2007(可能是早期版本,我无法测试)中,您可以在匹配中使用*作为通配符。例如,将样本数据集C1转换为
=SUMIF(A1:A3,"*BB*",B1:B3)
你应该看到值4。
答案 3 :(得分:0)
创建第3列(ColumnC)并将此公式放入其中:
=Text(A2,0)
向下拖动该列以完成列。这会将值格式化为文本。接下来,使用SUMIF
作为DocMax解释,但使用不同的列:
=SUMIF(C1:C3,"*BB*",B1:B3)
执行此操作的原因是,在使用Text
Number
的{{1}}比较时,您需要读取*BB*
值,而不是SUMIF
值。好问题。