1

我有一个带有几张纸的 excel 文件。一张表,程序数据,包含所有手动条目。该数据的一个非常基本的近似值如下所示:

ID     Type     Route     RevACT Aug 2013     RevBGT Aug 2014 ...
250    New      CCS           $1000.00           $500.00
310    Deep     RCS           $750.00            $150.00
015    Exist    CCS           $250.00            $1000.00

我们正在做的是一个由两部分组成的步骤,我希望将其浓缩为一个步骤......

现在我们使用 sumif 语句将所需信息从这张表中提取到第二张表(名为 New & Exst Dasbrd-Bckup),使用以下公式:

=SUMIFS('Program Data'!CC:CC,'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$2)+SUMIFS('Program Data'!CC:CC,'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$3)

此公式查找与 A74 中的标准匹配的值(即 Route = CCS),然后将类型为“新”(E2)或“现有”(E3)的 8 月收入(在 CC 列中找到)的值相加.

一旦我们将这些数据编译了好几个月,我们就有了一个仪表板,可以让我们创建图表。有一个下拉菜单可以选择您想要的月份(1 月 - 12 月),它使用第二张表格填充单元格,并根据您的下拉选择使用以下公式:

=HLOOKUP($A$11,'New & Exst Dshbrd-Bckup'!$B$74:$M$77,3,FALSE)

其中 A11 是下拉选项(Jan - Aug),范围是第一组值所在的位置,3 是包含先前公式值的行。我真的希望我们可以用一个公式来完成这一点,并跳过期中表。

TL博士;我需要一个正式的形式,一旦您从下拉菜单中选择一个月(在 A11 中),它将在列中查找该字符串(Aug、Oct 等)以及我指定的另一个字符串(例如“2013”​​)标题(1:1)。一旦找到包含这两个字符串的列,我希望它搜索该列并将所有具有指定 Route 的值(如 A74 = CCS 中所述)并且还具有正确的 Type 值(在 E2 和 E3 中给出 - - 新的和存在的)并返回该值

我尝试了一些不同的东西,但恐怕这有点超出我的能力。真诚感谢任何帮助。

4

2 回答 2

1

Firstly you can use a single SUMIFS like this to simplify your first formula

=SUMPRODUCT(SUMIFS('Program Data'!CC:CC,'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$2:$E$3))

Now you just need to make the column to sum dynamic based on month and year, so assuming your sum column is somewhere between A and CZ you can use an INDEX/MATCH function in that part, i.e.

=SUMPRODUCT(SUMIFS(INDEX('Program Data'!A:CZ,0,MATCH("*"&A11&" "&A12&"*",A1:CZ1,0)),'Program Data'!$M:$M,$A74,'Program Data'!$E:$E,'Program Data'!$E$2:$E$3))

where A12 contains the year

Note: SUMPRODUCT is only used here to add 2 values - because one of the SUMIFS criteria is a 2 cell range - 'Program Data'!$E$2:$E$3 - SUMIFS will return a two-element array. Most of the hard work of the formula is done by SUMIFS. This is deliberate because SUMIFS is quicker than any other multi-conditional summing functions

于 2013-10-28T14:42:40.450 回答
1

看起来巴里打败了我,这是我的看法。我认为 Barrys 公式使用 INDEX / MATCH 更好,但 SUMIF 是不必要的。

    Col D   E       F       G               H               I                   J
Row                             
9       ID  Type    Route   RevACT Aug 2013 RevBGT Aug 2014 RevACT Sept 2013    RevBGT Sept 2014
10      250 New     CCS     1000            500             500                 250
11      310 Deep    RCS     750             150             650                 1500
12      15  Exist   CCS     250             1000            350                 2000
13                              
14      Route   RCS             Answer  650
15      Month   RevACT Sept 2013                Formula =SUMPRODUCT(--(F10:F12=$E$14),INDIRECT(VLOOKUP($E$15,{"RevACT Aug 2013","G";"RevBGT Aug 2014","H";"RevACT Sept 2013","I";"RevBGT Sept 2014","J"},2,0)&"10:"&VLOOKUP($E$15,{"RevACT Aug 2013","G";"RevBGT Aug 2014","H";"RevACT Sept 2013","I";"RevBGT Sept 2014","J"},2,0)&"12"))

请注意 SUMPRODUCT 的第一个参数周围的双减号和括号,这会将 TRUE / FALSE 评估转换为 1 / 0 以进行乘法运算。

此外,VLOOKUP 中的数组参数的语法可能会有所不同,具体取决于您的系统分隔符等。

解决这个问题的另一种方法是使用数组公式,尽管结果与给出的解决方案基本相同。

问候,

于 2013-10-28T14:51:44.140 回答