Table of contents
本教程着眼于如何在Excel中使用ISTEXT和ISNONTEXT函数来检查一个单元格是否包含一个文本值。
每当你需要获取Excel中某个单元格内容的信息时,你通常会使用所谓的信息函数。 ISTEXT和ISNONTEXT都属于这一类。 ISTEXT函数检查一个值是否是文本,ISNONTEXT测试一个值是否不是文本。 无论概念有多简单,这些函数对于解决Excel中各种不同的任务都有惊人的作用。
Excel ISTEXT函数
Excel中的ISTEXT函数检查一个指定的值是否是文本。 如果该值是文本,该函数返回TRUE。 对于所有其他数据类型(如数字、日期、空白单元格、错误等),它返回FALSE。
语法如下。
ISTEXT(value)
在哪里? 价值 是一个值、单元格引用、表达式或其他你想测试其结果的函数。
例如,要找出A2中的一个值是否是文本,可以使用这个简单的公式。
=ISTEXT(A2)
Excel的ISNONTEXT函数
对于任何非文本值,包括数字、日期和时间、空白以及其他返回非文本结果或错误的公式,ISNONTEXT函数返回TRUE。 对于文本值,它返回FALSE。
其语法与ISTEXT函数的语法相同。
ISTEXT(value)
例如,要检查A2中的一个值是否不是文本,使用这个公式。
=ISNONTEXT(A2)
如下面的截图所示,ISTEXT和ISNONTEXT公式返回的结果相反。
Excel中的ISTEXT和ISNONTEXT函数--使用说明
ISTEXT和ISNONTEXT是非常直接和容易使用的功能,你不太可能在使用它们时遇到任何困难。 尽管如此,有几个关键点需要注意。
- 这两个函数都是IS函数组的一部分,返回逻辑(布尔)值TRUE或FALSE。
- 在一个具体案例中,当 数字以文本形式存储 , ISTEXT返回TRUE,ISNONTEXT返回FALSE。
- 这两个函数在Office 365、Excel 2019、Excel 2016、Excel 2013、Excel 2010、Excel 2007、Excel 2003、Excel XP和Excel 2000的所有版本的Excel中都可用。
在Excel中使用ISTEXT和ISNONTEXT--公式示例
下面你将看到Excel中ISTEXT和ISNONTEXT函数的实际使用例子,希望能帮助你提高工作表的效率。
检查一个值是否是文本
有时候,当你在处理一堆数值时,你可能会惊讶地发现,对于某些数字,你的公式会返回错误的结果,甚至是错误的。 最明显的原因是,有问题的数字是作为文本存储的。 下面的公式会告诉你,从Excel的角度来看,哪些数值是文本。
ISTEXT公式。
对于Excel认为的任何值,返回TRUE 文本 .
=ISTEXT(B2)
ISNONTEXT公式。
对于Excel认为的任何值,返回TRUE 非文本 .
=ISNONTEXT(B2)
数据验证的ISTEXT:只允许文本
在某些情况下,你可能希望允许用户在某些单元格中只输入文本值。 为了实现这一点,可以在ISTEXT公式的基础上创建一个数据验证规则。 下面是方法。
- 选择一个或多个你想验证的单元格。
- 关于 数据 选项卡,在 数据工具 组,点击 数据验证 按钮。
- 关于 设置 选项卡的 数据验证 对话框,选择 定制 为验证标准,并在相应的框中输入你的ISTEXT公式。
- 单击 "确定 "以保存该规则。
在这个例子中,我们要借助这个公式来验证单元格B2到B4中的问卷调查答案。
=ISTEXT(B2:B4)
此外,你可以配置你自己的 错误提示 信息来向你的用户解释什么样的数据被接受。
结果是,当用户试图在任何一个已验证的单元格中输入数字或日期时,他们将看到以下提示。
欲了解更多信息,请参见《在Excel中使用数据验证》。
Excel IF ISTEXT公式
在实践中,ISTEXT和ISNONTEXT经常与IF函数一起使用,以输出一个比标准的TRUE和FALSE更方便的结果。
公式1:如果是文本,那么
以我们的第一个例子为例,假设你想对文本值返回 "Yes",对其他东西返回 "No"。 要做到这一点,只需将ISTEXT函数嵌套到IF的逻辑测试中,并使用 "Yes "和 "No "来表示。 value_if_true 和 value_if_false 参数,分别。
=IF(ISTEXT(A2), "是", "否")
公式2.检查单元格的输入
在前面的一个例子中,我们讨论了如何通过使用数据验证来确保有效的用户输入。 这也可以在Excel IF ISTEXT公式的帮助下以一种 "更温和 "的形式完成。
在问卷调查中,假设你想确定哪些答案是有效的(文本),哪些是无效的(非文本)。 为此,使用嵌套的IF语句,逻辑如下。
- 如果被测试的单元格是空的,则不返回,即一个空字符串("")。
- 如果该单元格是文本,则返回 "有效答案"。
- 如果上述两种情况都没有,则返回 "无效的答案--请输入文本"。
把所有这些放在一起,我们得到以下公式,其中B2是要检查的单元格。
=IF(B2="", "", IF(ISTEXT(B2), "有效答案", "无效答案--请输入文字。"))
检查一个范围是否包含任何文本
到目前为止,我们已经对每个单元格进行了单独测试。 但如果你需要知道一个区域中的任何单元格是否包含文本,该怎么办?
要测试整个范围,可以这样把ISTEXT函数和SUMPRODUCT结合起来。
产品(istext( 范围 )*1)>0 SUMPRODUCT(--ISTEXT( 范围 )))>0作为一个例子,让我们检查下面数据集中的每一行的文本值,这可以通过以下公式完成。
=SUMPRODUCT(ISTEXT(A2:C2)*1)>0
=SUMPRODUCT(--ISTEXT(A2:C2))>0
上述公式之一进入D2单元格,然后通过D5单元格向下拖动。
所以,你现在已经清楚地知道哪些行包含一个或多个文本字符串(TRUE),哪些行只包含数字(FALSE)。
如果你想返回不同的结果,比如说 "是 "或 "不是",而不是 "真 "和 "假",请将上述公式附在IF语句中。
=IF(SUMPRODUCT(--ISTEXT(A2:C2))>0, "是", "否")
这个公式如何运作
这个公式是基于SUMPRODUCT原生处理数组的能力。 从里到外的工作,这里是它的作用。
- ISTEXT函数返回一个TRUE和FALSE值的数组。 对于A2:C2,我们得到这个数组。
{true,true,false}
- 接下来,我们将上述数组的每个元素乘以1,将TRUE和FALSE的逻辑值分别转换为1和0。 经过转换后,公式的形式如下。
SUMPRODUCT({1,1,0})>0
- SUMPRODUCT函数将1和0相加,然后检查结果是否大于0,如果是,说明该范围至少包含一个文本值,公式返回TRUE,如果不是FALSE。
检查一个单元格是否包含特定文本
Excel的ISTEXT函数只能确定一个单元格是否包含文本,也就是绝对的任何文本。 要想知道一个单元格是否包含特定的文本字符串,可以使用ISNUMBER SEARCH公式或带通配符的COUNTIF。
例如,要查看A2中的Item Id是否包含D2单元格中输入的文本字符串,请使用下面的公式(请注意绝对引用$D$2,以防止公式被复制到其他单元格时单元格地址发生变化)。
=isnumber(search($d$2, a2))
为了方便起见,我们将把它包在IF函数中。
=IF(ISNUMBER(SEARCH($D$2, A2)), "是", "否")
并得到以下结果。
用COUNTIF也可以达到同样的效果。
=IF(COUNTIF(A2, "*"&$D$2& "*")>0, "是", "否")
更多的例子,请看Excel如果单元格包含公式。
突出显示包含文本的单元格
ISTEXT函数也可以与Excel条件格式化一起使用,以突出显示包含文本值的单元格。 具体方法如下。
- 选择所有你想检查的单元格并加亮(本例中为A2:C5)。
- 关于 首页 选项卡,在 风格 组,点击 新规则 > 使用一个公式来决定哪些单元格需要格式化 .
- 在 格式化该公式为真的值 框,输入以下公式。
=ISTEXT(A2)
其中A2是所选区域的最左边的单元格。
- 点击 格式 按钮,并选择所需的格式化。
- 点击两次 "确定",关闭两个对话框并保存规则。
关于每个步骤的更详细解释,请参见:使用公式进行Excel条件格式化。
结果是,Excel突出显示了所有有任何文本字符串的单元格。
这就是如何在Excel中使用ISTEXT和ISNONTEXT函数。 感谢你的阅读,希望下周能在我们的博客上见到你
可用的下载
Excel ISTEXT和ISNONTEXT公式实例