自动过滤 - 数字过滤 - 等于...正在过滤文本吗?

自动过滤 - 数字过滤 - 等于...正在过滤文本吗?

我在使用 Excel 自动筛选功能时遇到了“数字筛选”问题

问题详细信息和设置:在表中有一列NUMBERS,格式为数字,使用 0 个小数并带有千位分隔符,假设我们有一个值 1015,格式化为“1,015”。

然后使用“数字过滤器” - “等于......”选项,当我用“1015”填写框时将不会返回任何行,但如果我按照显示的格式写入 - “1,015”则会得到我的数据。

那么为什么“数字过滤器”会将数据过滤为文本?...

谢谢您的任何建议。

答案1

有时 Excel 会试图“聪明”地假设您的列值为“文本”,即使您将列设置为“数字”。要确保该列中确实有数字值而不是包含数字的文本值,请执行以下操作:

1)将整列乘以 1(您可以使用选择性粘贴功能将单元格区域乘以一个数字,在本例中为 1)

2) 重新运行过滤器。

答案2

我相信您确实偶然发现了一个错误。

这不是自动过滤的预期行为。

如果您使用“小于 1016”和“大于 1014”的自定义过滤器,假设您想过滤 1015,那么它应该可以工作。

其他地方也曾报道过此事。

答案3

在 VBA 中我解决了这个问题,得到的值是。文本而不是。价值

我仍在清理我的代码,请不要评判。

Sub FiltraValor()
Dim tablename
Dim columnaActual 'columna activecell
Dim indice 'columna 1 de tabla
Dim msj As String
Dim criteria
columnaActual = activeCell.Column
'LOOK HERE' criteria = activeCell.Text 'GETTING VALUE AS TEXT
With activeCell
tablename = .ListObject.Name
indice = ActiveSheet.ListObjects(tablename).ListColumns(1).Range.Column
afiltrar = columnaActual - indice + 1

'msj = "Actual:" & columnaActual & " Indice Tablas:" & indice & " Columna a filtrar:" & afiltrar
'MsgBox msj
'LOOK HERE' ActiveSheet.ListObjects(tablename).Range.AutoFilter Field:=afiltrar, Criteria1:=criteria 'USING VALUE AS TEXT
End With

End Sub

相关内容