excel如何快速将多个字符串变成数字?

www.zhiqu.org     时间: 2024-05-20

【1】先上效果图:

【2】步骤

先输入四个公式:

E2=IF(F2+G2+H2=0,1,0)

F2=IF(ISNUMBER(SEARCH(TEXT(LARGE(A2:D2,1)*10+LARGE(A2:D2,2),"00"),"987654321090")),1,IF(ISNUMBER(SEARCH(TEXT(LARGE(A2:D2,2)*10+LARGE(A2:D2,3),"00"),"987654321090")),1,IF(ISNUMBER(SEARCH(TEXT(LARGE(A2:D2,3)*10+LARGE(A2:D2,4),"00"),"987654321090")),1,0)))

G2=IF(ISNUMBER(SEARCH(TEXT(LARGE(A2:D2,1)*100+LARGE(A2:D2,2)*10+LARGE(A2:D2,3),"000"),"9876543210980910")),1,IF(ISNUMBER(SEARCH(TEXT(LARGE(A2:D2,2)*100+LARGE(A2:D2,3)*10+LARGE(A2:D2,4),"000"),"9876543210980910")),1,0))

H2=IF(ISNUMBER(SEARCH(TEXT(LARGE(A2:D2,1)*1000+LARGE(A2:D2,2)*100+LARGE(A2:D2,3)*10+LARGE(A2:D2,4),"0000"),"9876543210987098109210")),1,0)

再选择上述四个输入了公式的框(E2-H2),下拉整个E-H四列填充公式,完成。

【3】所用原理及函数详细说明

①、先将四个字符排序组成数字由大到小的四位数,所用函数:LARGE(array,k),其中:

array:指所选区域,此处选择A2-D2的四个框;

k:指从大到小第几个数。

比如在H2的公式中有:

LARGE(A2:D2,1)*1000+LARGE(A2:D2,2)*100+LARGE(A2:D2,3)*10+LARGE(A2:D2,4)

即:最大的数放千位,第二的数放百位,第三的数放十位,第四的数放个位。

所以上述公式结果是四位数:9754。

②、将数字形式转换成字符串形式,所用函数:TEXT(value,format_text),其中:

value:指需要转换的数字;

format_text:指转换后的格式,有很多标准,可以自行百度,此处用到的就是以下三种:

"0000":四位数字的字符串;

"000":三位数字的字符串;

"00":两位数字的字符串;

③、在已经排好序的长字符串中查找是否包含第②步转换的字符串,所用函数:

SEARCH(find_text,within_text,[start_num])

find_text:必需,要查找的文本字符串;

within_text:必需,要在哪一个字符串查找;

[start_num]:从第几位开始查找,可以省略,省略的话就是从头开始查,此处省略了。

在H2框的公式中,我将within_text参数设置为:"9876543210987098109210",其中包含了所有连续四个数字且从大到小排列的形式,因为题主在15行中认为0978也是四连数,即0-9可以循环,所以我在“9876543210”后面又添加了“9870”“9810”“9210”三种可能性。

在F2框和G2框中也类似,添加了符合9与0连续的可能性。

④、判断SEARCH函数的结果找没找到,所用函数:ISNUMBER(value),其中:

value:需要判断是否是数字的参数;

因为SEARCH函数如果找到了就返回位置(数字),找不到就返回错误代码(字符串)。

所以我用ISNUMBER可以将SEARCH函数的结果转变成“TRUE”or“FALSE”。

⑤、用输出题主需要的结果1或0,所用函数:IF(logical_test,value_if_true,value_if_false),其中:

logical_test:需要判断的参数,必须是布尔值:“TRUE”or“FALSE”;

value_if_true:如果判断为TRUE,则返回这个结果,此处就是1;

value_if_false:如果判断为FALSE,则返回这个结果,此处就是0。

⑥、在E2框偷了个懒,直接利用F2\G2\H2的结果来判断,用一个IF函数搞定:

E2=IF(F2+G2+H2=0,1,0),如果F2+G2+H2=0(两连、三连、四连都没有),那就返回1;否则返回0。

⑦、F2\G2框比H2框不同的有两处:

一是:F2框只判断两位数,G2框只需要判断三位数,H2框需要判断的是四位数。

二是:H2框只有一种四位数,但G2框有两种三位数:第123位、第234位;F2框有三种两位数:第12位、第23位、第34位。

所以,G2框用了两个IF函数嵌套,F2框用了三个IF函数嵌套。



~


#沈很徐# 各位高手:怎样将excel表格中的字符转为数字,以用于排序等运算?
(18715774654): 单元格格式改成数值 就行了

#沈很徐# 怎样将excel中文本快速转换成数字 -
(18715774654): 可以通过分列的方式,快速将文本转换成数字 或者选择性粘贴,运算的方式也是可以的

#沈很徐# excel 函数如何将单元格中的字符型数字变为数字型数字 -
(18715774654): 在其他不用的任意一个单元格输入1并复制 选择A1右键选择性粘贴,把乘选择上,确定即可 这个方法适用于整列,也就是说如果你是要把A列的数字转换过来,复制这个1后,选择A列,选择性粘贴,乘选择上,确定即把A列全部转换过来了 A列为文本型格式,你改变了A的单元格格式是没有用的,还得激活了才会改过来.如果只一个单元格,可以,双击这个单元格一下就行了,但如果是整列,你一个一个激活吗?

#沈很徐# 怎样从excel表格里面的文本中,提取出数字 -
(18715774654): 可选用以下方法提取:1、工具需求 (1)excel 20072、首先给出数字的起始位置和长度.示例公式:=--mid(a1,5,3) 公式结果为提取A1单元格中从第5位开始的3个数字.(1)提取某特定字符串后的数字.示例公式:(2)=-lookup(0,-mid(a1,find(...

#沈很徐# 怎样在Excel中将文本转换为数字?
(18715774654): 有一个公式的方法,你看行不行,如果A1="12345",可以通过公式=VALUE(A1),将文本转换为数字

#沈很徐# 将Excel的文本数字转换成数字 -
(18715774654): 1.一次转换一个单元格 在“工具”菜单上,单击“选项”,再单击“错误检查”选项卡(一定要确保选中了“允许后台错误检查”和“数字以文本形式存储”复选框).选中任何在左上角有绿色错误指示符的单元格.在单元格旁边,单击出现的...

#沈很徐# 如何用Excel从字母数字字符串中提取数字 -
(18715774654): 用Mid函数可以做到:定义:Mid是Visual Basic和Microsoft Excel中的一个字符串函数,作用是从一个字符串中截取出指定数量的字符.格式:MID(text, start_num, num_chars)参数:text,必选.变体(字符串)表达式,要被截取的字符.如果该...

#沈很徐# excel中怎样实现将字符串变量string改成数值型变量numeric -
(18715774654): 在列标题(就是上面灰色的字母A,B...按钮格子)上按右键 选择设置单元格格式, 选择数值然后确定 就改成数值型了

#沈很徐# excel提取字符串多个数字 -
(18715774654): B1公式 =SUBSTITUTE(MID(LEFT(A1,LEN(A1)-1),3,255),"栋","-") 下拉填充

#沈很徐# excel 字符串变为数字 例如:'12.3' 变为 12.3 -
(18715774654): 你是说有那引号吗?如果是,用查找与替换,在查找中输入' 在替换中不输入任何字符,全部替换即可.如果是文本型数据,直接把单元格格式改为常规,在任意单元格输入一个1并复制,选择你要变为数字的列,右键选择性粘贴,把乘选择上,确定即可.