以下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
- 将“UsedBy”列单元格包含“He1”的列“Amount”的单元格作为单个实体求和。 可以说结果是X.
- “UsedBy”列单元格包含两个实体的列“Amount”的单元格的总和,“He1”必须是一个实体。 这个和之后用2来分开。假设结果是Y.
- 其中“UsedBy”列单元格包含三个实体的列“Amount”的单元格的总和和“He1”必须是一个实体。 这个和之后用3来表示。可以说结果是Z.
- 总计步骤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