我目前正在起草一个电子表格,它将自动删除重复项并按字母顺序排列列表:
我在 G 列中使用 COUNTIF() 函数创建排序顺序,然后使用 VLOOKUP() 在 J 列中查找排序。
我遇到的问题是我似乎无法让我的 SortOrder 列正常运行。目前,它为两个数字 1 创建索引,这意味着以黄色突出显示的单元格被遗漏,并且排序列表中的最后一个条目为空:
如果有人能为我找到并纠正这个错误,我将非常感激,因为它一整天都让我发疯!非常感谢。
最佳答案
我将提供我常用的方法,将原始数据自动拉入已排序、已删除重复的列表中:
假设原始数据位于 A 列中。在 B 列中,每次该行在 A 列中显示非重复项时,使用此公式增加计数器。硬线 B2 为“1”,并在 B3 中使用此公式并向下拖动。
=if(iserror(match(A3,$A$2:A2,0)),B2+1,B2)
这利用了这样一个事实:当我们在修订后的列表中引用此行计数器时,我们将使用 match 函数,该函数仅检查第一个匹配的数字。然后假设您希望在 D 列上显示新的数据列表(通常我这样做是为了显示目的,因此要么“分组”[隐藏]形成公式的列,要么在另一个选项卡上执行此操作)。您可以避免此步骤,但如果您已经在使用辅助列,我通常会在不同的列中执行每个步骤 - 更容易记录。在 C 列中,从 C3 [C2 硬编码为 1] 开始并向下拖动,只有一个简单的计数器,它会错误检查到列表末尾的停止点:
=if(C2<max(B:B),C2+1," ")
然后在 D 列中,从 D2 开始向下拖动:
=iferror(index(A:A,match(C2,B:B,0)),"")
索引函数就像 vlookup 函数的一半 - 当您为其提供行号时,它会从给定数组中提取结果。 match 函数类似于 vlookup 函数的另一半 - 它为您提供给定数组中某个项目出现的行号。
希望这对您将来也有帮助。
关于excel - 在 Excel 中按字母顺序排序的顺序公式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31346044/