Google apps script 谷歌表单,自动删除单元格中的前导撇号
我正在做一个项目,需要一个谷歌表单从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 扫描发生时,工作表将不断填充。我正在寻找一种解决方案,可以自动从每个单元格中删除撇号(')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
谢谢大家! 撇号
”
前缀只是请求不要将其中的数据解析为其他类型
更好的解决方法是修复input/ios应用程序,它专门以字符串/原始数据的形式发送数据。如果应用程序使用sheets api,则需要将设置为
用户输入的
,而不是原始
或者,您可以使用清除using withformatOnly:true
。如果这不起作用,您应该明确使用所需的特定格式:0
表示数字,mm dd yyyy
表示日期等等。如何使用公式删除单元格中的前导撇号
自
要使用公式或脚本中包含的内容删除撇号吗 没有回答,我想你也不会介意公式解决方案
您可以使用查询公式 或者一个数组公式
编辑
(紧随其后) 但是单元格的类型(=type())没有更改 我命令将值从文本更改为可以使用的数字
=数组公式(如果(A2:B“”,A2:B*1,)
只需确保相应地格式化日期时间值
使用的功能:
函数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,))