【问题标题】:Why is SORT(UNIQUE()) not ordering correctly when data is added? OR Why are tables not following cell format?为什么添加数据时 SORT(UNIQUE()) 排序不正确?或 为什么表格不遵循单元格格式?
【发布时间】:2021-08-26 10:34:08
【问题描述】:

我正在尝试使用以下公式从表格中的数据中对数字代码列表进行排序:=SORT(UNIQUE(B3:B43)))。但是,当我向表中添加数据时,它的排序不正确。

使用示例数据,结果如下:

计算公式的UNIQUE(B3:B43) 部分会得到=SORT({"1000";"2000";"3000";"4000";"5000";"6000";7000})。 7000 左右缺少引号使我认为它正在读取稍后添加的数据(就像我对 7000 所做的那样,在制作表格和公式后添加到表格中)作为“常规”类型,这意味着它被认为是一个数字,而不是默认为文本'。但是,表格中的单元格是左对齐的,并且类型显示为“文本”。

我主要想知道为什么会发生这种情况,但我尝试使用 TEXT() 修复它却失败了:=SORT(UNIQUE(TEXT(B3:B43, "Text"))) 结果如下:

它似乎正在用...替换“e”。


立即编辑:

在编写本文时,我尝试在“文本”、“常规”和“数字”之间更改表格列的单元格格式几次。单元格没有立即更新,但进入第一个条目(“1000”)使其成为一个数字。我改回来了,但SORT 现在显示数字 1000 和文本“1000”(意味着单元格现在显示 1000、7000、“1000”、“2000”、“3000”、“4000”、“5000” ", "6000")。


暂时忽略TEXT() 的奇怪之处,我很困惑为什么我的公式拒绝遵循单元格格式。


编辑 2 值得注意的是,在表格中,除了 7000 和修改后的 1000 之外,所有单元格都有“Number Stored As Text”注释。


【问题讨论】:

    标签: sorting excel-formula formatting


    【解决方案1】:

    截图,here参考。

    概述

    通常,Excel 的升序“排序”会将数字格式的单元格置于文本格式的单元格之上(根据here)。您可以尝试使用常规的“排序”功能 - 例如在主功能区中,数据 -> 排序 - 其中混杂的值返回以下内容:

    (左对齐格式为文本,即带有前导单撇号,而右对齐格式为数字)。


    解决方法

    一种解决方法是使用 sortby,并带有值的文本版本:

    =SORTBY(B2:B9,"'"&B2:B9)
    

    这将比按数字格式值排序“更安全”,例如乘数为 1,以防您的某些单元格同时包含数字 文本,例如 A101、B202 等)


    注意

    RE: unique- 为了简单起见,这可以简单地用作整个方程的包装器(另一种方法是在 sortby 公式中使用 unique 两次,这显然是一个不太有利的解决方案,考虑到简单性/简约性和问题错误-也给率)..

    =UNIQUE(SORTBY(B2:B9,"'"&B2:B9))
    

    【讨论】:

    • @DukeNukem - ta.
    猜你喜欢
    • 1970-01-01
    • 2017-01-07
    • 2018-09-09
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多