从谷歌表格单元格复制时如何避免双引号?

问题描述 投票:0回答:1

如果我使用这个论坛:

=TEXTJOIN(CHAR(13), 1, FILTER(F2:F, F2:F <> ""))

我会得到这个输出:

52048663606
52010984909
62194569546

但是,使用这个公式:

=TEXTJOIN(CHAR(13), 1, FILTER("1" & CHAR(9) & "1" & CHAR(9) & F2:F, F2:F <> ""))

将其复制并粘贴到其他地方时,我得到带有双引号的输出:

"1  1   52048663606
1   1   52010984909
1   1   62194569546"

请注意,这些引号并不出现在单元格本身中,而是仅在复制(并粘贴到其他地方)时出现。

如何避免这种情况?

电子表格示例在这里

google-sheets google-sheets-formula copy
1个回答
0
投票

问题:

Unicode 13/回车(

\r
)Unicode 10/换行(
\n
)
用作行分隔符,Unicode 9/水平制表符(
\t
)
用作列分隔符,在剪贴板中存储数据时。您应该注意,在剪贴板中,所有数据都是原始存储的,没有实际的视觉中断。例如,如果 A1:A3 有

52048663606
52010984909
62194569546

仅存储为

52048663606\n52010984909\n62194569546
。如果将此数据粘贴到另一个单元格中,Google 表格知道使用
\n
将此数据分成 3 行。水平选项卡也是如此
\t

但是,如果

\n
\t
不应该被解释为分隔的行或列怎么办?如果
52048663606\n52010984909\n62194569546
不是 3 行,而是 1 个单元格怎么办? Google 使用双引号
"
来指定这些引号之间的任何内容都不应分隔,即在本例中为
"52048663606\n52010984909\n62194569546"

Google 似乎使用它自己专有的 mime 类型格式

application/x-vnd.google-docs-spreadsheet-table+json
(还有替代的
text/html
text/plain
),它也可能有其他分离算法。分隔符似乎也存在浏览器/设备的变化。但以上内容几乎适用于所有情况。

解决方案:

我不相信你能避免它。使用任何其他空白字符

=LET(
  sp, UNICHAR(8192),
  lf, UNICHAR(11),
  TEXTJOIN(lf, 1, FILTER("1" & sp & "1" & sp & F2:F, F2:F <> ""))
)

在最终复制粘贴的文本中,在最终应用程序中,使用 将文本更改回来。

© www.soinside.com 2019 - 2024. All rights reserved.