如何在Excel中提取第二个引号内的文本内容?
提取Excel字符串中第二个引号对的文本
你的现有公式只定位了第1个和第2个引号的位置,所以提取的是第一个引号对里的Description。要获取第二个引号对中的内容(如BLUE CAR),需要定位第3个和第4个引号的位置,以下是几种可行解法:
通用Excel版本公式(兼容所有版本)
方法1:多层嵌套FIND定位引号
=MID(B2, FIND("""", B2, FIND("""", B2, FIND("""", B2)+1)+1)+1, FIND("""", B2, FIND("""", B2, FIND("""", B2, FIND("""", B2)+1)+1)+1) - FIND("""", B2, FIND("""", B2, FIND("""", B2)+1)+1) - 1)
逻辑:通过多次嵌套FIND依次定位第1→2→3→4个引号的位置,再用MID提取第3个引号后、第4个引号前的内容。
方法2:SUBSTITUTE替换简化定位
=MID(SUBSTITUTE(B2, """", "|", 3), FIND("|", SUBSTITUTE(B2, """", "|", 3))+1, FIND("|", SUBSTITUTE(B2, """", "|", 4)) - FIND("|", SUBSTITUTE(B2, """", "|", 3)) - 1)
逻辑:将字符串中的第3、4个引号替换为特殊符号|,再通过FIND定位这两个符号的位置,最终提取中间文本。
Excel 365/2021简化公式
利用新版Excel的TEXTAFTER和TEXTBEFORE函数,写法更直观:
=TEXTBEFORE(TEXTAFTER(B2, """", 3), """")
逻辑:先用TEXTAFTER提取第3个引号之后的所有内容,再用TEXTBEFORE截取该结果中第一个引号之前的部分,直接得到目标文本。
验证结果
对于示例中的"Description":"BLUE CAR",上述公式均会返回BLUE CAR,符合预期。
内容的提问来源于stack exchange,提问作者user3461502
相关产品推荐
相关产品推荐

