我正在尝试创建一个查询,在其中我可以将一些数据从文本转换为数字,以下是我目前所做的:
=QUERY(ARRAYFORMULA(IFERROR(REGEXREPLACE('Input'!D:S;".";","))); "select Col1, Col2, Col3, Col13, Col16 WHERE Col13 = 'NET A PAYER' ";1)
这非常适合将句点更改为区域设置的逗号。但当我尝试求和(Col16(时,这不起作用,因为Col16的格式是文本。我不能CNUM,TO_PURE_NUMBER,*1,因为regexreplace的应用范围。我知道它适用于D到s,但我只想在s.上使用
所以,这是我的请求!是否可以在数据选择中执行类似=QUERY('Input'!D:ARRAYFORMULA(IFERROR(REGEXREPLACE(S;".";",")*1)); "select Col1, Col2, Col3, Col13, Col16, SUM(Col16) WHERE Col13 = 'NET A PAYER' ORDER BY Col13 ";1)
的操作
以下是一些可访问的数据测试:https://docs.google.com/spreadsheets/d/1Vt1dDHzRPwP2tuL5bsqjaE9TJHwL469OddzSeRKk4jU/edit?usp=sharing
我被卡住了。。。!谢谢你的帮助!
尝试
=QUERY({A:C ARRAYFORMULA(SUBSTITUTE(D:D;".";",")*1)}; "select Col1, Col2, Col3, Col4 WHERE Col1 = 'NET A PAYER' label Col4 'Gain' ";1)
或者直接在查询中进行求和
=QUERY({A:C ARRAYFORMULA(SUBSTITUTE(D:D;".";",")*1)}; "select Col1, Col2, Col3, sum(Col4) WHERE Col1 = 'NET A PAYER' group by Col1, Col2, Col3 label sum(Col4) 'Gain' ";1)
看看这对你有用吗?