Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌表单,自动删除单元格中的前导撇号_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 谷歌表单,自动删除单元格中的前导撇号

Google apps script 谷歌表单,自动删除单元格中的前导撇号,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在做一个项目,需要一个谷歌表单从iOS应用程序接收数据。该应用程序扫描条形码,并将时间戳和代码弹出到工作表中。如果你看这张纸,它看起来很好 A B 2020-09-07 08:42:50 1234 2020-09-06 08:42:49 5678 2020-09-05 08:42:48 9101 A B 2020-09-07 08:42:50 1234 2020-09-06 08:42:49

我正在做一个项目,需要一个谷歌表单从iOS应用程序接收数据。该应用程序扫描条形码,并将时间戳和代码弹出到工作表中。如果你看这张纸,它看起来很好

A B 2020-09-07 08:42:50 1234 2020-09-06 08:42:49 5678 2020-09-05 08:42:48 9101 A B 2020-09-07 08:42:50 1234 2020-09-06 08:42:49 5678 2020-09-05 08:42:48 9101 如果单击任何单元格,则每个单元格的值前面都有一个“前缀”

A B '2020-09-07 08:42:50 '1234 '2020-09-06 08:42:49 '5678 '2020-09-05 08:42:48 '9101 A B '2020-09-07 08:42:50 '1234 '2020-09-06 08:42:49 '5678 '2020-09-05 08:42:48 '9101 扫描发生时,工作表将不断填充。我正在寻找一种解决方案,可以自动从每个单元格中删除撇号(')


谢谢大家!

撇号
前缀只是请求不要将其中的数据解析为其他类型


更好的解决方法是修复input/ios应用程序,它专门以字符串/原始数据的形式发送数据。如果应用程序使用sheets api,则需要将设置为
用户输入的
,而不是
原始

或者,您可以使用清除using with
formatOnly:true
。如果这不起作用,您应该明确使用所需的特定格式:
0
表示数字,
mm dd yyyy
表示日期等等。

如何使用公式删除单元格中的前导撇号 自


要使用公式或脚本中包含的内容删除撇号吗

没有回答,我想你也不会介意公式解决方案


您可以使用查询公式

或者一个数组公式


编辑
(紧随其后)

但是单元格的类型(=type())没有更改

我命令将值从文本更改为可以使用的数字

=数组公式(如果(A2:B“”,A2:B*1,)

只需确保相应地格式化日期时间值

使用的功能:


是否要使用公式或脚本中包含的内容删除撇号?如果您想要后者,那么到目前为止您尝试了什么?更好的方法是修复input/ios应用程序,它以字符串
函数removeApos(){const ss=SpreadsheetApp.getActive();const sh=ss.getSheetByName('Sheet1');const rg=sh.getRange(2,1,sh.getLastRow()-1,2);const vs=rg.getDisplayValues();vs.map(函数(r,i){If(r,i){[0]。切片(0,1)=“””)r[0]。拼接(0,1);if(r[1]。切片(0,1)=“””)r[1]。拼接(0,1);};rg.setValues(vs);}
事实上,我使用了一个单引号,并对其进行了测试。它很有效。@Cooper,我明白了。我刚刚测试过,在我的环境中,我似乎无法复制。“在getDisplayValues和GetValuesTest中都缺失了
=A2:B
测试这个,甚至
=A2:B
似乎也能工作。但是单元格的类型(
=type()
)没有改变。@TheMaster“但是单元格的类型(
=type()
)没有更改。你可能是说它仍然是一个文本吗?”测试这个,即使
=A2:B
似乎也能工作。“实际上不行。它需要是一个数组。抱歉。你是对的。我在上一次评论中漏掉了大括号。它应该是
={A2:B}”
。你的意思可能是它仍然是一个文本吗?是的。我想这就是撇号
的原因。
=QUERY(A2:B)
=ARRAYFORMULA(A2:B)
+-------------------------------+------------------------------+
|        Original Data          | Using  =QUERY(A2:B)          |
|                               | Or     =ARRAYFORMULA(A2:B)   |
+-----------------------+-------------------------------+------+
| `07/09/2020 08:42:50  | `1234 | 07/09/2020 08:42:50   | 1234 |
| `06/09/2020 08:42:49  | `5678 | 06/09/2020 08:42:49   | 5678 |
| `05/09/2020 08:42:48  | `9101 | 05/09/2020 08:42:48   | 9101 |
+-----------------------+-------+-----------------------+------+
=ARRAYFORMULA(IF(A2:B<>"",A2:B*1,))