设置边框样式为固定单线。
将View属性设置为3(报表视图),以表格形式显示数据内容。
End With
在材料工作表中进行操作。
从第2列开始循环至Z列,添加列标题
Next I
从第1行开始,循环至第65536行中B列最后一个非空单元格的上一行,逐行添加数据。
从第2列开始循环添加数据至第Z列
Next Y
Next X
End With
ComboBox1 的列表项设置为白和绿两个选项。
End Sub
请关注回答末尾部分
对方提供的算法切实可行。
将公式中的$100替换为$120000,$200替换为$240000即可。
但还有一种算法是按20万行设计的。
查找A列中首个大于6的数值所在行号减1,若无则返回极大值减1。
C2单元格的数组公式用于计算一个动态数值,其结果至少为1。公式的逻辑如下:首先判断C2是否大于1,若成立则返回1;否则执行后续计算。通过COUNTIF函数统计C1至C2区域中数值1的个数,作为索引参数。利用IF函数筛选A列前20万行中大于6的数据所在行号,若不符合条件则用极大值9^9代替,再通过SMALL函数取得对应序号的行值。以此作为分界点,分别调用FREQUENCY函数构建行号频率分布,并提取相邻区间段的频次差值。最终将该差值减1后与1比较,取较大者作为结果。整个公式结合了行列定位、条件判断与数组运算,实现对特定数据间隔的追踪与计数,适用于复杂条件下的序列分析场景。
B1普通公式
B1和C2均向下复制填充。

B1算法基于推测:原表格中的A并非真实值,而是代表大于6的数值,需不经过计算直接在此显示并进行分段处理。
若为字母A,则B列公式应相应调整。
该问题用公式表达不便,数组计算效率低、易出错且容错性差。
用VBA计算更合理。
测试11万条数据,12核i7处理器,公式耗时55分钟,VBA仅需2秒。
Sub 汇总()
r = 1
Else
End If
Next
End Sub
Excel自定义格式常用代码及使用规则详解
G/通用格式即不设特定格式,按原始数值直接显示。
代表数字占位符,仅显示有效数字,不显示无效的零。
3、0作为数字占位符,当实际数字位数少于格式规定的位数时,会以无意义的0补足。例如自定义格式设为0000.00,输入不同数值时,单元格将按此格式补零显示。
和0常用于自定义数字格式中,分别输入0.0与.0时,显示效果略有差异。观察左右两列可见:当个位无数字时,.0格式不会在个位补零,因仅显示有效数字,即实际输入的数值部分;而0.0则会在个位显示0。两种格式均采用四舍五入规则处理小数,确保数值呈现符合常规舍入标准。
?是另一种数字占位符,用于在小数点两侧添加空格,实现类似Word中按小数点对齐的效果。下图展示了?与0结合使用时的情形,实际显示中小数点位置整齐对齐。
.表示小数点,%显示为百分号,,作为千位分隔符,E用于科学计数法,代表格式中后续字符的含义,*表示重复下一字符以填满列宽,_表示预留与下一字符同宽的空格,文本则按银行内文本样式显示。
注意:应将提示置于数字占位符之前,中文版本使用中文,英文版本使用英文。
通常设置顺序如下:数字占位符的位置可灵活调整,以适应不同的显示格式需求。