![从列到矩阵](https://linux22.com/image/1405535/%E4%BB%8E%E5%88%97%E5%88%B0%E7%9F%A9%E9%98%B5.png)
我在一列中有几个地址。需要将其移动到行中,如下所示:
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)
然后复制B1到C1通过G1
然后复制C1通过G1降低到您需要的程度。
例如: