QUERY 会忽略以不同格式输入的电话号码

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

我这里有一个测试页面:https://docs.google.com/spreadsheets/d/1q4qRgXSq6xXhddArPCoBIuOOupRvokUd0andADCNN0Q/edit?usp=sharing

在公共“表格”文档中,人们添加自己的电话号码,但不同的人以不同的方式输入他们的号码,例如:

23423423444
234-234-2344
234.234.2344
(234) 234-2344

当我对此数据执行 QUERY 操作时,它无法理解不同的数据格式。它只能提取一种数据类型,因此会忽略其他数据类型。例如,在上面显示的数据中,它将第一行解释为数字,因此它将第 2 行和第 4 行视为空,因为它认为它们是文本字符串。

我正在尝试想出一个中间公式,该公式将采用所有这些数字,除去除数字之外的所有内容,然后强加一个通用格式,例如 xxx-xxx-xxxx。然后我将使用此列来满足我的查询需求。不幸的是,我不知道足够的代码来完成这个任务。有人可以帮忙吗?

google-sheets strip reformat
1个回答
0
投票

这听起来像

XY Problem
,您不希望
QUERY
忽略不同的数据类型,并且您寻求帮助的问题是以相同的方式格式化数字,这样
QUERY
就不会忽略它。然而,这并不是解决这个问题的最简单的方法。一个简单的解决方法是将列的格式更改为
Plain text
或直接从公式执行此操作,方法是使用
TO_TEXT
函数或简单地附加一个空字符串
&""
:

=ARRAYFORMULA(QUERY({B5:B,C5:C}&"","select * where Col1 is not null",0))

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