我正试图将我父亲的旧诺基亚手机中的联系人导出到iPhone中。他们的旧软件诺基亚PC套件可以将这些联系人导出为CSV并导入纯文本,格式如下:
First Name: ...
Last Name: ...
Phone: ...
First Name: ...
Last Name: ...
Phone: ...
...
注意#1:有时候没有名字,只有最后和电话号码。它们用换行符隔开。
CSV的问题在于编码搞砸了,我无法找出它是什么。我想知道如何从纯文本中将联系人导出到CSV甚至vCard中。
预期结果:
First Name | Last Name | Phone
FirstName1 | LastName1 | #####1
FirstName2 | LastName2 | #####2
FirstName3 | LastName3 | #####3
编辑:注意#2:有超过600个联系人 修改#2 : ” 这是一个例子。左侧是源,右侧是我需要它的CSV文件。 BTW不介意那些“A”,这只是我父亲使用的优先事项......
答案 0 :(得分:1)
我想办法在没有VBA宏/ UDF的情况下完成它。
这是一个基本公式,每列略有变化。
因此,如果您的数据以A1开头,并且每个“块”之间有间隔,则可以在C2
中执行此操作:
=RIGHT(OFFSET($A1,(ROW()-2)*3,0),LEN(OFFSET($A1,(ROW()-2)*3,0))-SEARCH(":",OFFSET($A1,(ROW()-2)*3,0)))
并将向下拖动。
然后,在D2
中使用相同的公式,但在$A1
出现的地方$A2
改为$A1
除外。
在E2
中使用相同的公式,但每次出现$A1
时都会将$A3
更改为$A1
并向下拖动。
修改:或者,您可以将其放在C2
中,然后上下拖动。这是一个不需要每列编辑的公式:
=RIGHT(OFFSET(INDIRECT("$A"&ROW()-1+COLUMN()-3),(ROW()-2)*3,0),LEN(OFFSET(INDIRECT("$A"&ROW()-1+COLUMN()-3),(ROW()-2)*3,0))-SEARCH(":",OFFSET(INDIRECT("$A"&ROW()-1+COLUMN()-3),(ROW()-2)*3,0)))