从列到矩阵

从列到矩阵

我在一列中有几个地址。需要将其移动到行中,如下所示:

name1
street1
city1
state1
phone1
email1
name2
street2
city2  
state2
phone2
email2

NAME   ADDRESS  PHONE  EMAIL
name1  address1 phone1 email1
name2  address2 phone2 email2

请帮助我得到正确的公式。

答案1

使用支持正则表达式的优秀文本编辑器(查看此主题) 而不是 excel。您可能希望用制表符(在正则表达式中为 \t)替换换行符(\r 或 \n 或两者,具体取决于您的文本文件编码)。这会将值列表变成一行。如果您的值以数字结尾,就像您的示例中那样,那么您甚至可以使用这些来指示下一行的开始,但这会很棘手。

您可能需要进行一些调整才能完全正确,但根据您的问题,这将接近您想要的结果。如果您只有一串值,而没有计算机可读的方法来区分城市和州,那么没有正则表达式可以帮助您将其转换为真正的矩阵,您必须手动分隔值,也许可以通过查找电子邮件地址(有很多正则表达式可以做到这一点)并在其后加上一些唯一标识符,然后您可以使用该标识符来标识行的末尾(基于示例中值的顺序)。

答案2

假设您的数据从单元格开始A1, 在B1进入:

=INDEX($A:$A,(6*ROW()-5)+(COLUMN()-2),1)

然后复制B1C1通过G1

然后复制C1通过G1降低到您需要的程度。

例如:

演示

相关内容