我在excel列中有一个1000多个url的列表,我想通过交换参数的位置来编辑结构
例如:
原始结构
www.example.com/test.htm?name=John&age=21&city=London&unique_id=1425&dept=cs
在这里,我想要参数" unique_id"放在"年龄"之前参数..
预期结构
www.example.com/test.htm?name=John&unique_I'd=1425&age=21&city=London&dept=cs
我是否可以在该列上运行公式或方法
答案 0 :(得分:1)
你可以在下面这样的公式中做到这一点......但它有一些古怪的行为,取决于你的网址的可变性:
=SUBSTITUTE(SUBSTITUTE(A1,"&age=",MID(A1,FIND("&unique_id=",A1),FIND("&",A1&"&",FIND("&unique_id=",A1)+1)-FIND("&unique_id=",A1))&"&age="),MID(A1,FIND("&unique_id=",A1),FIND("&",A1&"&",FIND("&unique_id=",A1)+1)-FIND("&unique_id=",A1)),"",2)
所以核心是:
MID(A1,FIND("&unique_id=",A1),FIND("&",A1&"&",FIND("&unique_id=",A1)+1)-FIND("&unique_id=",A1))
提取&unique_id=xxxxx
字符串SUBSTITUTE
现有的&age=
字符串,其中unique_id字符串被&age=
卡住了&unique_id=xxxxx
替换它来删除第二次出现的""
字符串 - 所以如果我们在网址中带来了unique_id,我们就会删除原来的使用VBA执行此操作会更加强大 - 但这似乎是一个很好的公式挑战: - )