Excel 使用并非所有单元格中都存在的条件进行多条件索引/匹配/求和

Excel 使用并非所有单元格中都存在的条件进行多条件索引/匹配/求和,excel,excel-formula,multiple-columns,conditional-statements,sumifs,Excel,Excel Formula,Multiple Columns,Conditional Statements,Sumifs,下面,请找到一个截图,为我的问题提供一些背景 以上是我公司使用的报告工具输出的修改版本。此报告以Excel 2003格式显示,我将在Excel 2010中处理它。我无法更改输出的格式 我的上述问题有两个方面。首先,据我所知,生成报告的应用程序在任何地方都使用非中断空格。所以像“Not Blue”这样的简单匹配语句通常会返回一个N/A,因为我正在使用“Not”和“Blue”之间的“normal”空格进行搜索。另一个问题是,我无法确定如何使用前三列中的条件进行SUMIFS(例如,在我的标准为1级/

下面,请找到一个截图,为我的问题提供一些背景

以上是我公司使用的报告工具输出的修改版本。此报告以Excel 2003格式显示,我将在Excel 2010中处理它。我无法更改输出的格式

我的上述问题有两个方面。首先,据我所知,生成报告的应用程序在任何地方都使用非中断空格。所以像“Not Blue”这样的简单匹配语句通常会返回一个N/A,因为我正在使用“Not”和“Blue”之间的“normal”空格进行搜索。另一个问题是,我无法确定如何使用前三列中的条件进行SUMIFS(例如,在我的标准为1级/蓝色/绿色的情况下,合计所有数据1值)。第1列和第2列中的单元格是合并的单元格,我必须手动取消合并,然后复制相应的单元格值。这将是痛苦的

我希望有一些方法可以绕过这些限制,这样我就可以相对轻松地编写SUMIF公式(或索引/匹配或SUMPRODUCT或任何其他求和/匹配公式),而不必主要修改输出格式。我的目标是建立一个标准的计算页面,它可以根据我公司的应用程序输出的报告进行查找。为了简化最终用户的交互,我希望他们能够将应用程序的输出复制/粘贴到我的处理工具的一张表中,然后计算出我需要的各种总数

我非常愿意探索VBA以及基于公式的解决方案。

要根据显示“非蓝色”的合并单元格列(
B2:B9
)对数据1(
D2:D9
)求和,并用空格替换非中断空格,您可以尝试以下方法:

=SUMPRODUCT((查找(行(B2:B9),行(B2:B9)/(B2:B9“”),修剪(替换(B2:B9,字符(160),))=“非蓝色”)*D2:D9)

公式的
查找(.)
部分计算结果为:

{“蓝色”;“蓝色”;“蓝色”;“非蓝色”;“非蓝色”;“无应答”;“无应答”;“无应答”}

通过复制公式的这一部分并更改引用,可以为合并单元格的其他列添加其他条件。例如,您可以使用此方法查找条件的Data1+Data2+Data3(级别1,不是蓝色或红色):

=SUMPRODUCT((查找(.)=“Level1”)*(查找(.)=“非蓝色”)*(C2:C9=“红色”)*D2:F9)

其中
(LOOKUP(.)=“Not Blue”)
包含在上面的第一个公式中


(LOOKUP(.)=“Level1”)
是相同的,但是用
A2:A9
代替
B2:B9

lori\m,我修改了你的公式如下,这似乎有效:

=SUMPRODUCT(
--(LOOKUP(ROW($A$7:$A$43),ROW($A$7:$A$43)/($A$7:$A$43<>""),
TRIM(SUBSTITUTE($A$7:$A$43,CHAR(160)," ")))="Level 2"),D$7:D$43)
=SUMPRODUCT(
--(查阅(ROW($A$7:$A$43),ROW($A$7:$A$43)/($A$7:$A$43“),
修剪(替换($A$7:$A$43,字符(160),“)=”二级“),D$7:D$43)

我不明白的是,为什么我最初使用您的原始公式时只获取顶级合并单元格值。我肯定这是因为我错误地转置了某些内容。但无论如何,非常感谢您的帮助。

您可以执行查找/替换来解决第一个有关空格的问题吗?对于第二个问题,您可以取消合并并然后使用“转到”将所有生成的空白单元格填充为上限单元格值。我可以这样做,但我的首选是不让最终用户记住这一点。我可以编写一个快速VBA宏来完成这一操作,但我有一些用户没有激活宏(甚至知道他们需要打开宏时需要做什么)因此,他们最终无法做任何事情。在我看来,VBA是最后的手段,因为用户需要主动交互。这看起来很有希望,但请您解释一下这到底是如何工作的?我过去几乎忽略了查找公式,因为它要求搜索列be排序,我不能保证这会发生。如果数据没有排序,这会起作用吗?我一直在玩弄你的公式,我不能让查找部分计算为{“蓝色”;“蓝色”;…}。相反,我得到的是{“蓝色”,0;0,“非蓝色”;0;0;…}。因此,我无法正确计算合并的单元格。数据顺序与查找无关,因为它是基于行号的,在我的测试中似乎没有问题-不知道为什么它会返回零。另请参见:excel版本重要吗?据我所知,它是excel 2003格式。我正在excel 2010中处理它,所以我可以我认为这会消除任何限制。lori_m,我以某种方式解决了这个问题。我采用了您的原始公式,并在下面的答案部分对其进行了修改。我很抱歉为您的答案赢得了荣誉-我不知道如何在评论部分输入更详细的格式解释。