excel如何快速将多个字符串变成数字?
【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并复制,选择你要变为数字的列,右键选择性粘贴,把乘选择上,确定即可.