Excel条件数据和文本操作

我有一个Excel电子表格,其中包含许多列,其中最重要的是所谓的"sequence""modifications""signal" 。 称为"sequence"列包含多个条目,只要存在不同的"modification"就重复其自身。 给定“修改”的每个特定序列都分配了某个“信号”值。

 Sequence Modification Signal ABCDEF None 100 ABCDEF Carba 200 ABCDEF NEIAA 300 ABCDEF NEIAA,Carba 400 ABCDEFG None 400 ABCDEFG Carba 600 ABCDEFG NEIAA 700 ABCDEFG NEIAA, Carba 800 ABCDEFG 2XNEIAA 900 

我有问题的任务包括将具有不同修改的相似序列聚类在一起,获得该特定组的信号总和,将来自各个组分量的信号划分为针对该特定序列簇的计算总和,然后将获得的百分比值到带有或不带NEIAA标签的条目,将在组内具有NEIAA标签的所有条目的值相加并将其报告为该特定簇的最终"% MODIFICATION"值。

例如,序列“ABCDEF”具有1000的总信号,其中30%和40%属于具有NEIAA标签的条目,因此该特定簇的总% Modification百分比是70%。 类似地,对于序列“ABCDEFG”,总的%MODIF等于100*(700+800+900)/(400+600+700+800+900)

公式或VBA都适合我。

我的示例数据如下所示: 在这里输入图像说明

 SUMIFS(C:C,A:A,A2) 

你可以summ所有(你已经得到)

 SUMIFS(C:C,A:A,A2,B:B,"*NEIAA*") 

只能包括NEIAA在内

把所有的东西放在一起(我们只需要在第一个序列中使用一次,但是可拖动)放在F2

 =IF(AND(COUNTIF($A$1:A1,A2)=0,LEN(A2)>0),SUMIFS(C:C,A:A,A2,B:B,"*NEIAA*")/SUMIFS(C:C,A:A,A2),"") 

如果你还有问题,就问

COUNTIF($A$1:A1,A2)=0只是在第一次检查A列中的值, LEN(A2)>0)跳过空白单元格;)

编辑

假设一切都向右移动,A列获得一个唯一的关键字,所以列A和B的每个组合就像现在只有列A,你可以试试这个PLS:(放入G2,然后自动填充为你需要它)

 =IF(AND(COUNTIFS($B$1:B1,B2,$A$1:A1,A2)=0,LEN(B2)>0),SUMIFS(D:D,B:B,B2,C:C,"*NEIAA*",A:A,A2)/SUMIFS(D:D,B:B,B2,A:A,A2),"") 

如下所示: – 所有东西都移到右边(在所有东西的前面插入列) – 列A现在保存“运行” – >总结所有具有相同“运行”和“序列”(和“NEIAA” )

样品

如果你还有任何问题,只要问:)