1

请在下面找到一个屏幕截图,该屏幕截图将为我的问题提供一些背景信息。

在此处输入图像描述

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

我的上述问题是双重的。首先,据我所知,生成报告的应用程序到处都使用不间断空格。像“Not Blue”这样的简单 MATCH 语句通常会返回 N/A,因为我正在使用“Not”和“Blue”之间的“正常”空格进行搜索。另一个问题是,我无法弄清楚如何使用前三列中的标准进行 SUMIFS(例如,总计所有 Data 1 值,其中我的标准为 Level 1/Blue/Green)。第 1 列和第 2 列中的单元格作为合并单元格出现,我必须手动取消合并它们,然后复制适当的单元格值。这会很痛苦。

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

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

4

2 回答 2

1

D2:D9要基于显示“非蓝色”的合并单元格 ( ) 列对Data1 ( ) 求和B2:B9,并将不间断空格替换为空格,您可以尝试以下操作:

=SUMPRODUCT((LOOKUP(ROW(B2:B9),ROW(B2:B9)/(B2:B9<>""),TRIM(SUBSTITUTE(B2:B9,CHAR(160)," ")))="Not Blue")*D2:D9)

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

{"Blue";"Blue";"Blue";"Not Blue";"Not Blue";"Not Blue";"No Answer";"No Answer;"No Answer"}

通过复制这部分公式并更改引用,可以为合并单元格的其他列添加附加条件。例如,您可以使用这种方法为条件(Level 1,Not Blue, Red)查找 Data1+Data2+Data3:

=SUMPRODUCT((LOOKUP(.)="Level1")*(LOOKUP(.)="Not Blue")*(C2:C9="Red")*D2:F9)

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

and(LOOKUP(.)="Level1")是一样的,但是用A2:A9代替B2:B9

于 2014-01-26T17:22:04.293 回答
0

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)

我无法弄清楚为什么当我使用您的原始公式时,我最初只获得顶级合并单元格值。我确定这是因为我错误地转置了某些东西。但无论如何,非常感谢您的帮助。

于 2014-01-28T16:44:57.280 回答