这个问题可以这样处理。下面是其中一个方法。(建议以后A列不要填写混合数据,方便统计)。
这是效果图片。
处理方法:
添加辅助列B列。
把各组填写在B列,方法是,复制A2→粘贴到B2→单击B2→鼠标移到右下角并双击填充,同理,复制A5→粘贴到B5→双击填充……
D2=IF(OR(A2="男",A2="女"),"",COUNTIFS($B$2:$B$21,B2,$C$2:$C$21,">9")),或D2=IF(right(A2,1)="组",COUNTIFS($B$2:$B$21,B2,$C$2:$C$21,">9"),"")下拉或双击填充,查看结果。
复制D列,原位粘贴→选择性粘贴→数值。就可以删除B列了。如果不影响表格编辑,也可保留辅助列。
可能还是VBA方便些,代码和演示效果动图如下。
Sub 分组判断年龄段人数()
Dim lastrow, age As Long
lastrow = ActiveSheet.Range("A65535").End(xlUp).Row
Application.ScreenUpdating = False
Columns("C:D").Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1").FormulaR1C1 = "=RC[-2]"
Range("C2").FormulaR1C1 = "=IF(ISERROR(FIND(""组"",RC[-2],1)),R[-1]C,RC[-2])"
Range("C2").AutoFill Destination:=Range("C2:C" & lastrow)
Range("C1:C" & lastrow).Value = Range("C1:C" & lastrow).Value
Range("D1").FormulaR1C1 = "=IF(RC[-2]="""",COUNTIFS(C[-1],RC[-1],C[-2],"">9""),"""")"
Range("D1").AutoFill Destination:=Range("D1:D" & lastrow)
Range("D1:D" & lastrow).Value = Range("D1:D" & lastrow).Value
Columns("C:C").Delete Shift:=xlToLeft
MsgBox "已处理完毕!"
Application.ScreenUpdating = True
End Sub