在 Excel 中提取 URL 查询值

Extract URL Query Value in Excel

我正在使用 Excel 从 URL 中提取查询值 q=。我面临的主要挑战是查询值并不总是在同一位置。我可以在查询值之前或之后有多个参数。我所知道的是,我需要从 &q= 位置开始,并在下一个 & 符号处结束,如果没有其他 & 跟随,则在行尾结束。

例如:在下面的 URL 中,我要提取查询值:This_Is_My_Query_value

http://www.example.com/somepage?param1=one&param2=two&param3=three`&q=This_Is_My_Query_value`&A=Z&B=y&C=ahUKEwjS09bhyPD1AhVihOAKHTQyBeEQwL

查询字符串拆分器:

您可以分两个阶段执行此操作:

A1      (Your URL)
        http://www.example.com/somepage?param1=one&param2=two&param3=three&q=This_Is_My_Query_value&A=Z&B=y&C=ahUKEwjS09bhyPD1AhVihOAKHTQyBeEQwL

B1      =MID(@A:A,FIND("q=",@A:A)+2,999)
        This_Is_My_Query_value&A=Z&B=y&C=ahUKEwjS09bhyPD1AhVihOAKHTQyBeEQwL

C1      =LEFT(@B:B,IFERROR(FIND("&",@B:B)-1,999))
        This_Is_My_Query_value

或者您可以在一个公式中完成:

=LEFT(MID(@A:A,FIND("q=",@A:A)+2,999),IFERROR(FIND("&",MID(@A:A,FIND("q=",@A:A)+2,999))-1,999))

@A:A 替换为对 URL 单元格的引用。

如果 URL 之前还有另一个 q=,这将不起作用 - 如果这是一个问题,可以寻找 ?q=&q= 而不是 q=.