mar*_*ubo 2 excel google-sheets google-apps-script google-sheets-formula
我需要从文本块中提取文本。该块看起来像这样:
{"some text"},{"some more text"},{"some other"},{"some other text"},{"let's add more"},{"even more other text"}
文本应该成对出现,以便第一个和第二个 {""},{""} 进入同一个单元格,依此类推。我尝试了 split 功能,但由于分隔符是逗号,我无法成对拆分。所以我需要在每 2 个逗号后拆分并将结果对放在它自己的单元格中。然后转置结果,使文本垂直进入一列。
我试过了,=SPLIT("",",")但没有得到想要的输出。
我为此使用 Google 表格,并希望在 Google 表格中执行此操作,但我愿意在 Excel 中执行此操作。
如果你想看看谷歌表格文件,这里是链接https://docs.google.com/spreadsheets/d/1sbK6nF-6SO4oOKTdercgnfHGeQol-vfV5SRcFXNBy5o/edit?usp=sharing
有趣和有趣的查询。
在 中B2,看看以下公式是否适合您:
=TRANSPOSE(SPLIT(REGEXREPLACE(A2,"([^,]+,[^,]+),","$1|"),"|"))
Run Code Online (Sandbox Code Playgroud)
如果需要,可以使正则表达式更具体地仅针对大括号之间的那些逗号。
编辑
为了SPLIT您期望的结果为两列,并摆脱对大括号和外报价,我想出了:
=TRANSPOSE({SPLIT(REGEXREPLACE(A2,"{""([^,]+)""},{""([^,]+)""}(?:,|$)","$1|"),"|");SPLIT(REGEXREPLACE(A2,"{""([^,]+)""},{""([^,]+)""}(?:,|$)","$2|"),"|")})
Run Code Online (Sandbox Code Playgroud)