【发布时间】:2019-12-19 21:20:13
【问题描述】:
我的任务是清理一堆以最混乱的方式组织的 Excel 数据。我正在查看一堆房地产列表,但数据提供者不是按列组织所有内容,而是按行组织所有内容。例如:
Listing 1:
ROOM FOR RENT
blank row
LOCATION
blank row
DATE
blank row
ADDRESS
blank row
DESCRIPTION
blank row
CONTACT
blank row
blank row
blank row
Listing 2:
ROOM FOR RENT
and so on.
现在,将数据转换为列是没有问题的,因为大多数数据结构都是合适的,因此每个变量之间存在固定数量的单元格行(请参阅空格)。我只是使用偏移函数,我知道的每14行左右是Listing描述,每16行是位置,每18行是联系人,等等。
但是,数据有时会在列表之间有一个额外的空白空间或少一个空白空间,并且它会完全搞砸偏移量(因为连接后的所有数据都会在前面或后面一行)。我的问题是:如果我有两行完全相同(例如,出租房间),有没有办法可以修复这些行的所有实例之间的单元格行数,并让 excel 相应地添加或减去空白行我设定的任何规则?这对我有很大帮助。
提前致谢!
【问题讨论】:
-
Native Excel 没有办法做到这一点。您可以使用 VBA 轻松做到这一点。但使用 VBA 或 PowerQuery 的完整解决方案可能是更好的方法。
-
嗨,这似乎是一个疯狂的想法,但既然这个文件有一个准模式,为什么不通过一些文本编辑器运行它来删除空白行、空格等,输入一些制表符或逗号,导出到 csv,导入到 excel,最后享受整洁的文件?
-
作为一种快速删除空格的方法,您可以从
TEXTJOIN()开始,并使用任何内容作为分隔符(使用任何数据中都没有出现的内容)。确保将ignore_empty设置为TRUE。所以现在你有一个包含所有数据的单元格,由分隔符分隔。使用Text to Columns将该单元格(包含您的列表)转换为一列数据(如何使用[文本到列][1])[1]:adinstruments.com/support/knowledge-base/… -
在你的真实数据中,当每个之间有额外的行时,你怎么知道哪个是哪个?是否有一个单独的具有有效条目顺序的密钥?或者有标签吗。如果有 Key,并且所有条目始终存在,则只需删除所有空行。如果有标签,您也许可以使用它们。
-
@RonRosenfeld 我手动计算了单元格之间的数字哈哈。我想我可能必须学会使用 vba 或其他东西。
标签: excel excel-formula ms-office