Excel VBA数据透视表隐藏长度不足5位的邮编字段方法(Mac 16.54版)
方案1:VBA扩展原有逻辑实现过滤
直接在你原有过滤N/A的代码基础上扩展遍历所有邮编项即可,Mac版Excel 16.54对该逻辑兼容性正常:
' 开启手动更新减少运行卡顿 objTable.ManualUpdate = True Set objField = objTable.PivotFields("Zip") With objField ' 先清除原有筛选避免逻辑冲突 .ClearAllFilters Dim pi As PivotItem For Each pi In .PivotItems ' 同时过滤N/A和长度不足5位的邮编 If pi.Name = "N/A" Or Len(Trim(pi.Name)) < 5 Then pi.Visible = False End If Next pi End With ' 恢复自动更新 objTable.ManualUpdate = False
注意:如果你的邮编存在前导零,需要先确认数据源内邮编以文本格式存储,避免前导零被自动抹除导致长度判断错误
方案2:无代码辅助列方案(稳定性更高)
- 打开透视表对应的数据源表,插入新列命名为
邮编长度合法 - 在新列首个数据行输入公式:
=IF(AND(NOT(ISBLANK(A2)),A2<>"N/A",LEN(TRIM(A2))>=5),"是","否"),将A2替换为你实际存储邮编的列单元格,公式向下填充全量数据 - 刷新数据透视表,把新增的
邮编长度合法字段拖到透视表筛选区域,直接筛选值为是的项即可
内容的提问来源于stack exchange,提问作者Baiano42
相关产品推荐
相关产品推荐

