image

从excel 2016及更早版本的单元格中剥离数值。我们使用的公式有点复杂,但是现在Excel 2019和365都在游戏中加入了新玩具,我的意思是函数。 Excel 2019和365引入了一些新功能(TEXTJOIN和SEQUENCE)

这样可以简化删除数字字符并仅在新单元格中检索非数字值的任务。我们将使用可以帮助我们更方便地执行此操作的公式。 通用公式

=TEXTJOIN(“”,TRUE,IF(ISERROR(MID(jumbled_text,SEQUENCE(NumChars),1)+0),MID(jumbled_text,SEQUENCE*(NumChars),1),””)))

Jumbled_text:这是您要从中提取所有数值的源文本。

NumChars:这是您要处理的字符总数。

jumbled_text的字符数不得超过此数字(字符和数字的总和)。

让我们看一个例子,使事情变得清楚。

示例:删除数字字符并提取所有字母和非数字字符。

image

因此,这里有一些字母数字文本。此文本包含一些数字和一些非数字字符。我需要在D列中摆脱数字字符并仅获取字母和其他字符值。

我不希望混杂文本中的字符总数超过100个。因此,此处的NumChars值为100。您可以根据需要增加或减少此数字。

在此处应用上述通用公式以去除数字字符。

=TEXTJOIN(“”,TRUE,IF(ISERROR(MID(B3,SEQUENCE(100),1)+0),MID(B3,SEQUENCE*(100),1),””)))

按下回车按钮时,将删除所有数字字符,仅保留字母值。向下拖动此公式可从B列中所有单元格的字符串中删除数字。

image

如何运作?

首先,让我们看看如何逐步解决此公式。

为了便于阅读,我没有编写整个数组。我用点(…​)表示长数组。

1→

TEXTJOIN(“”,TRUE,IF(ISERROR(MID(B3,SEQUENCE(100),1)+0),MID(B3,SEQUENCE*(100),1),””)))

2→

TEXTJOIN(“”,TRUE,IF(ISERROR(MID(“This1

is…​site”,\{1,2,3,…​100},1)+0),MID(B3,SEQUENCE(100),1),””)))

3→

TEXTJOIN(“”,TRUE,IF(ISERROR(\{“T”;”h”;”i”;”s”;”

“,”1″…​””;””}+0),MID(B3,SEQUENCE(100),1),””)))

4→

TEXTJOIN(“”,TRUE,IF(ISERROR(\{#VALUE!;#VALUE!;#VALUE!;#VALUE!;1…;#VALUE!}),MID(B3,SEQUENCE*(100),1),””)))

5→

TEXTJOIN(“”,TRUE,IF(\{TRUE;TRUE;TRUE;TRUE;FALSE…;TRUE},MID(B3,SEQUENCE*(100),1),””)))

6→

TEXTJOIN(“”,TRUE,\{“T”;”h”;”i”;”s”;””…​.;””})

7→ “This is number one website”

如您所见,公式从内部开始求解。首先,解决了“ link:/ excel-365-functions-sequence-function-excel- [SEQUENCE function]”问题。由于我们已经通过了100个字符数。它返回一个从1到100的数字数组。该数组作为起始编号提供给MID功能。 mid函数转到字符串中的每个索引,并将每个字符拆分为一个数组。您可以在第3步中看到。我没有显示整个数组,因为它将占用太多空间。 \ {“ T”;“ h”;“ i”;“ s”;“”,“ 1” …​“”;“”} *接下来,我们向每个字符加0。在excel中,如果您尝试将数字添加到非数字字符中,则会导致`link:/ tips-value-error-and-how-to-to-fixed-it-excel [#VALUE!“

错误]`。这样我们得到了一个数字数组和#VALUE!错误。

\ {#VALUE!;#VALUE!;#VALUE!;#VALUE!; 1…; #VALUE!}

该数组提供给`link:/ excel-formula-and-function-iserror-function [ISERROR]`

功能。如您所知,ISERROR函数对于错误返回TRUE,对于非错误值返回FALSE。因此,我们得到了TRUE和FALSE的数组。

非数字字符为TRUE,数字为FALSE。

\ {TRUE; TRUE; TRUE; TRUE; FALSE …​; TRUE}。

IF的TRUE节语句也会发生同样的事情(`link:/ excel-text-formulas-the-mid-function-in-excel [MID]`(B3,`link:/ excel-365-functions-the -sequence-function-in-excel [SEQUENCE]`(100),1))。

它返回B3中字母数字字符串的所有字符的数组。

现在,对于每个TRUE语句,IF函数都会从true节的数组中返回相应的字符。对于FALSE,IF返回空白(“”)。现在,您将拥有一个不包含任何数字字符的数组。 \{“这个”;””…​.;””}。最后,此数组由`link:/ excel-365-functions-the-excel-textjoin-function [TEXTJOIN *]`

提供服务功能。此函数使用给定的定界符将给定文本彼此连接,而忽略空白值。因此,我们得到的字符串不包含任何数字字符。这是排名第一的网站*。

增强公式

上面的公式使用一个硬编码的数字来处理字符数(我们取了100个)。但是您可能希望它是动态的。在这种情况下,您猜对了,可以使用LEN函数。将需要准确的字符数进行处理。因此公式将是。

此处,LEN功能将自动检测字母数字字符串中的确切数字字符。这将减轻确定最大字符数的负担。

=TEXTJOIN(“”,TRUE,IF(ISERROR(MID(jumbled_text,SEQUENCE(LEN(jumbled_text),1)+0),MID(jumbled_text,SEQUENCE(LEN(jumbled_text)*,1),””)))

SEQUENCE函数的替代项

如果您不希望使用SEQUENCE函数,则可以将ROW和INDIRECT函数结合使用,以`link:/ `。

INDIRECT会将文本(“ 1:100”)转换为实际范围,然后ROW函数将列出从1到100的所有行号。(100仅是示例。它可以是任何数字)。

是的,这是您如何从excel中的字母数字字符串中剥离非数字字符的方法。我希望我能提供足够的解释,并且本文对您有所帮助。如果您对此主题或任何其他excel / VBA主题有任何疑问。直到保持卓越。

=TEXTJOIN(“”,TRUE,IF(ISERROR(MID(jumbled_text,ROW(INDIRECT(“1:”&`LEN(NumChars))),1)+0),`MID(jumbled_text,ROW(INDIRECT(“1:”&`LEN`(NumChars)))*,1),””)))

相关文章:

链接:/ excel-text-formulas-如何从Excel中的单元格中删除非数字字符[如何从Excel 2019中的单元格中删除非数字字符:] Excel中的字母数字字符串,我们使用新的TEXTJOIN函数。从字符串中去除非数字字符可以帮助我们清理数据以进行更好的数据分析。因此,这就是您的操作方法`link:/ excel-text-formulas-split-numbers-and-text-from-string-in-excel [在Excel 2016和更早版本中,从字符串中拆分数字和文本]:当我们没有这样做的时候’没有TEXTJOIN函数,我们将LEFT和RIGHT函数与其他一些函数一起使用,可以从字符串中拆分数字和非数字字符。 链接:/ excel-text-extract-text-extract-text-from-string-in-excel-using-excels中的左右函数[使用Excel的LEFT AND RIGHT函数从Excel中的字符串中提取文本]:要从字符串中删除excel中的文本,我们可以使用excel的LEFT和RIGHT函数。这些功能可帮助我们动态地截断字符串。\`link:/ excel-text-formulas-remove-lead-and-trailing-spaces-from-text-in-excel [在Excel中从文本中删除前导和尾随空格]:*前导空格和尾随空格很难在视觉上识别,并且会弄乱您的数据。从字符串中删除这些字符是数据清理中的一项基本且最重要的任务。这是您可以在Excel中轻松完成的操作。

链接:/ excel-text-formulas-remove-characters-from-right [从右移字符]:*要在Excel中从字符串的右移字符,请使用LEFT函数。是的,左功能。 LEFT函数保留LEFT中给定数量的字符,并从其右边删除所有内容。

link:/ excel-text-formulas-remove-unwanted-characters-in-excel [在Excel中删除不需要的字符]:*要在Excel中从字符串中删除不需要的字符,我们使用SUBSTITUTE函数。 SUBSTITUTE函数将给定字符替换为另一个给定字符,并产生一个新的更改的字符串。

如何从Excel中的某个位置开始删除Excel中的文本:*从以下位置删除文本字符串中的起始位置,我们使用Excel的REPLACE函数。此功能帮助我们确定要剥离的字符的起始位置和数量。

热门文章:

`链接:/ keyboard-formula-shortcuts-50-excel-shortcuts可提高您的生产率[50 Excel快捷方式以提高生产率]更快地完成任务。这50个快捷键将使您在Excel上的工作速度更快。

link:/ formulas-and-functions-vlookup-function简介[如何使用Excel VLOOKUP函数]|这是excel中最常用和最受欢迎的功能之一,用于从不同范围和工作表中查找值。 link:/ tips-countif-in-microsoft-excel [如何使用]

link:/ vlookup函数的公式和函数介绍[Excel]

link:/ tips-countif-in-microsoft-excel [COUNTIF函数]|使用此惊人的功能对条件进行计数。

您无需过滤数据即可计算特定值。 Countif功能对于准备仪表板至关重要。

如何在Excel中使用SUMIF函数这是仪表板的另一个重要功能。这可以帮助您汇总特定条件下的值。