被视为文本的数字在索引和sumif中给出错误的值

时间:2014-09-19 05:02:25

标签: excel-formula worksheet-function

我正在索引一个以某种方式将数字存储为文本的表,这里是一个片段:

{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))

2 个答案:

答案 0 :(得分:1)

你不能使用 SUMIFS 但是有一个解决办法 类似:

enter image description here

因此,如果您有上述数据,请输入此数组公式

=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将每个数字乘以在总结它们之前(在我的例子中)

enter image description here

因此,您可以使用数据

尝试以下公式
{=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()