以下function需要excel公式

我需要帮助在MS Excel工作表中执行以下function。 该工作表示例如下

ABCDE 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公式中完成以下作业序列的function

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

请让我知道如果我不清楚我的问题….

尝试SUMIF函数。

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

除非你自己写在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”,并确保有一个逗号。

第三个放在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)

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

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