计算Excel中某个范围内的前一个/后一个单元格值

时间:2017-03-31 15:28:55

标签: excel vba excel-vba excel-formula countif

我试图弄清楚如何编写一个公式来计算范围内特定值的前一个和后一个单元格值。这是一个例子:

对于本专栏,“黑色”在“红色”之前出现了多少次,“绿色”出现在“黄色”之前多少次等等?

Color List

3 个答案:

答案 0 :(得分:0)

如果你的意思是多少次"黑色"紧接在" red"之前出现在单元格中和"绿色"紧接在"黄色"之前的细胞中那么这将有效:

=COUNTIFS(A2:A14,"red",A1:A13,"black")+COUNTIFS(A2:A14,"yellow",A1:A13,"green")

答案 1 :(得分:0)

这只是一个黑暗中,你正在寻找什么,这将根据网格计算,相邻单元格中有多少。

=SUM(COUNTIFS($A$1:$A$1040001,$C2,$A$2:$A$1040002,D$1),COUNTIFS($A$1:$A$1040001,D$1,$A$2:$A$1040002,$C2))

enter image description here

答案 2 :(得分:0)

如果您只是想在另一种颜色的 1-st 出现之前计算一种颜色的出现次数,那么您可能会使用以下公式:

=COUNTIF($A$2:INDEX(A2:A16,MATCH(E2,A2:A16,0)),C2)

enter image description here

但是如果您希望在另一种颜色的第n 次出现之前找到一种颜色的出现,那么您可能正在寻找以下解决方案:

=COUNTIF($A$2:INDEX(A2:A16,SMALL(IF(A2:A16=E2,ROW(A2:A16)-ROW(INDEX(A2:A16,1,1))+1),D2)),C2)

enter image description here

请注意,第二个公式是数组公式,必须使用Ctrl + Shift + Enter输入。