【问题标题】:Sorting/cleaning where data in columns is jumbled [closed]排序/清理列中的数据混乱[关闭]
【发布时间】:2013-11-11 21:53:43
【问题描述】:

我有一个项目需要我清理一组数据,然后根据这些数据生成报告。清理过程的一部分是对两列进行排序,其中一列包括城镇,另一列包括州。在某些行中,城镇在州列中,州在城镇列中,但并非所有情况都如此,有些列在正确的列中。

我们需要使用Excel的任何一个功能,如果没有有效的方法,请转向VBA。

在这两种情况下我应该怎么做?

【问题讨论】:

  • 各州是否以标准邮政缩写出现?
  • 它有全名,没有它们只包含城镇名称或在下一列中包含州

标签: excel vba excel-formula vlookup worksheet-function


【解决方案1】:

列出所有状态(例如在 ColumnE 中,假设您的数据从 Row2 开始在 ColumnA:B 中)和:

C2 输入:=VLOOKUP(A2,E:E,1,0)
D2输入:=VLOOKUP(B2,E:E,1,0)

复制两者以适应。

在 ColumnC 上对 A:C 进行排序,对于 ColumnC 中的 #N/A 值,切换列 A 和 B。恢复这些行的公式,然后在 ColumnD 上对 A:D 排序,并为 #N/A 以外的值切换A 列和 B 列。

重做公式作为检查。

【讨论】:

  • 这可能是解决城邦问题的最佳方式。对于排序,在技术上可以编写 Excel 函数进行排序,但几乎不是一个好主意。但是记录一个 vba 脚本来进行排序应该很容易。
  • 不是UDF,这种废话:{=INDEX(data,MATCH(SMALL(COUNTIF(data,"<"&data),ROW(data)),COUNTIF(data,"<"&data),0),0)}。唯一排序要长 4 到 5 倍。不是很快,也不是很容易维护——更多的是一种有趣的新奇事物。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-02
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
  • 2021-10-25
  • 2022-06-13
相关资源
最近更新 更多