我正在索引一个以某种方式将数字存储为文本的表,这里是一个片段:
{0\0\0\0\"110"\950\0\0\0\"3485"\0\0\0\"950"\0\0\0\0\0\100}
当我尝试在此范围内使用sumif时,我得到错误的值。有没有办法在公式中解决这个问题而不改变数据?
这是我正在使用的确切公式:
=SUMIFS(INDEX(INDIRECT("'"&"P_"&$C$3&"'!B9:BC100");MATCH($D6;INDIRECT("'"&"P_"&$C$3&"'!BC9:BC100");0););INDIRECT("'"&"P_"&$C$3&"'!B1:BC1");L$1))
答案 0 :(得分:1)
你不能使用 SUMIFS 但是有一个解决办法 类似:
因此,如果您有上述数据,请输入此数组公式:
=SUM(IF(INDIRECT("A3:A5")=A$2,VALUE(INDIRECT("B3:B5"))))
按 Ctrl + Shift + 输入。
300 作为文本输入,但您仍然可以获得等于 A $ 2 的所有项目的正确总计,即A
。
注意:我的本地分隔符为,
(不是示例中的;
),所以不要混淆。
另外,上面只是一个例子,我将保留你的公式的实际改编。 HTH。
答案 1 :(得分:0)
如果您将数字的范围存储为文本,则处理此问题的一种方法是在使用它们时将单元格乘以1。以下示例。你需要省略花括号并按 Ctrl + Shift + Enter 输入公式,告诉excel将每个数字乘以在总结它们之前(在我的例子中)
因此,您可以使用数据
尝试以下公式{=SUMIFS(INDEX(INDIRECT("'"&"P_"&$C$3&"'!B9:BC100")*1;MATCH($D6;INDIRECT("'"&"P_"&$C$3&"'!BC9:BC100")*1;0););INDIRECT("'"&"P_"&$C$3&"'!B1:BC1");L$1))}
注意:我没有测试过这个公式,但我测试过这个方法适用于INDIRECT()