需要以下功能的excel公式

时间:2010-07-11 17:44:45

标签: formula excel

我需要帮助才能在MS Excel表格中执行以下功能。表格示例如下

       A              B         C          D              E 
1     TimeStamp       Name     Amount     UsedBy        Description
     -----------------------------------------------------------
2     Date1           Me1       200       He1,She1        desc1
3     Date2           Me1       100       Me1,He1         desc2
4     Date3          She1        50       He1,She1,Me1    desc3
5     Date4           He1        70       She1,He1        desc4
6     Date5          She1       200       She1,He1,Me1    desc5
7     Date6           Me1        22       He1             desc6

我想要一些可以在单个自定义MS-Excel公式中执行以下作业序列的功能

  1. 对“Amount”列的单元格求和,其中“UsedBy”列单元格包含“He1”作为单个实体。假设结果是X
  2. 列“Amount”的单元格的总和,其中“UsedBy”列单元格包含两个实体,“He1”必须是一个实体。在此总和之后将其除以2.假设结果为Y。
  3. 列“Amount”的单元格的总和,其中“UsedBy”列单元格包含三个实体,“He1”必须是一个实体。在此总和之后将其除以3.假设结果是Z
  4. 总计步骤1,2和3中的结果。这意味着X + Y + Z
  5. 的总和

    如果我的问题不清楚,请告诉我。

3 个答案:

答案 0 :(得分:4)

尝试SUMIF功能。

答案 1 :(得分:0)

构建一些中间结果,例如UsedBy中的值数量,或者UsedBy是否在单独的列中包含 He1 ,然后使用SUMIF()

答案 2 :(得分:0)

除非您自己在VBA中编写,否则不能在单个公式中执行此操作。由于您还未将问题标记为VBA,因此我假设您更倾向于使用辅助列。

您需要3个辅助列,每个条件都有1个。

首先让我们说你把它放在F列

=if(and(isnumber(search("He1",D2)),len(d2)=len(substitute(d2,",",""))),1,0)

这样做可以确保D2包含' He1'并确保没有逗号。

第二次把它放在G栏中

=if(and(isnumber(search("He1",D2)),len(d2)-1=len(substitute(d2,",",""))),1,0)

这样做可以确保D2包含' He1'并确保有1个逗号。

你的第三个把它放在H栏中

=if(and(isnumber(search("He1",D2)),len(d2)-2=len(substitute(d2,",",""))),1,0)

这样做可以确保D2包含' He1'并确保有2个逗号。

获得帮助条件列后,您现在可以为每个标准执行sumif

对于X,您将=sumif(f2:f7,1,c2:c7)

对于你,你会=sumif(g2:g7,1,c2:c7)/2

对于Z,你会=sumif(h2:h7,1,c2:c7)/3