Excel 中的过滤字符

Excel 中的过滤字符

我的 excel 文件中有一列是字符和数字的混合,我想过滤掉所有以字符开头的行。示例

列 1

abc
12345
def
5678
xyz
7895
tryc

我只想过滤
abc
def
xyz
tryc

我尝试使用高级过滤器,输入 ?[az],但没有成功

答案1

如果您确实不想使用其他列,您可以尝试使用条件格式来帮助过滤。

选择单元格 A1,然后选择整个列,然后使用带有“新规则”和公式(最后一个选项)的条件格式:

=ISTEXT(A1)

然后选择一种格式,例如填充灰色(颜色由您决定,但使用填充或字体颜色,这可以在过滤中使用)。

选择格式后按“确定”并返回工作表,您可以根据特定格式进行过滤,在本例中,您可以根据用颜色填充或更改字体颜色(包含文本)的格式进行过滤。

答案2

如果可以的话,最简单的方法是使用带有如下公式的辅助列:

=ISNUMBER(A2)

其中 A2 应该被适当的列/行引用替换。

然后,您可以根据该列的单元格是真还是假轻松地过滤行。

如果需要,您可以随时隐藏辅助列。请注意,如果您将数据更改为表格,则添加新行将使隐藏列中的公式保持正确。如果您需要更灵活地移动行,请用公式替换单元格引用OFFSET。然后,如果您剪切/粘贴行,所有内容仍然正确。

答案3

根据 Raystafarian 的评论,如果字符串中没有字符,则可以使用包含或不包含值。如果有可能出现字符(例如 123c),则它会过滤掉该值。

要根据字符 v. 数字进行过滤仅有的第一个字符,您需要一个辅助列。假设您的数据在 A:A 列中,在相邻列(例如 B:B)中插入以下公式:

=AND(CODE(LEFT(A1,1))>=48,CODE(LEFT(A1,1))<=57)

这将评估单元格中的第一个字符 (LEFT(A1,1)) 并返回其 ASCII 代码。如果代码介于 48 (0) 和 57 (9) 之间,它将返回 True,否则返回 False。然后您可以过滤掉此列。我同意您应该将数据转换为表格,Excel 可以很好地处理表格格式的数据。

答案4

看看这个。它给出了一些关于高级过滤的有趣示例。http://searchengineland.com/advanced-filters-excels-amazing-alternative-to-regex-143680

相关内容