Excel的A2:A30001可能文字格式,计算A2:A30001最右1字是英字母(26个字母都有)及数字的单元格数量的公式?

A2:A30001编码都是 ="878689" ="078689" ="03304U" ="06445P" ="07868A" ="07861B" 等6个类似格式。但查其单元格格式显示"为"通用格式"。有可能是文字格式。
公式计算A2:A30001其编码最右1个字是英文字母(26个字母都有可能,有的是全数字无字母) 的单元格数量。请教公式,谢谢
另计算A2:A30001其是全数字无英文字母的单元格数量。

要计算A2:A30001中最右侧的一个字母是英文字母的单元格数量,可以使用以下公式:=COUNTIF(A2:A30001,"* [A-Za-z]")该公式使用COUNTIF函数,检查A2:A30001中的单元格,如果它们以空格和英文字母(大小写均可)结尾,则计数。星号通配符表示在任何字符或字符集合之前或之后匹配任何字符或字符集合,因此星号和空格之间的空格表示任意字符或字符集合,然后是一个空格和一个英文字母。要计算A2:A30001中全是数字(没有任何英文字母)的单元格数量,可以使用以下公式:=COUNTIF(A2:A30001,"[0-9]*")该公式使用COUNTIF函数,检查A2:A30001中的单元格,如果它们以数字开头并且后跟任何字符,则计数。方括号内的0-9表示数字字符集合,星号表示数字字符集合之后的任何字符。

您可以使用以下公式来计算A2:A30001中最右侧为英文字母或数字的单元格数量:=SUMPRODUCT(--(ISTEXT(A2:A30001)),--(ISNUMBER(1*RIGHT(A2:A30001,1))),--((CODE(RIGHT(A2:A30001,1))>=48)*(CODE(RIGHT(A2:A30001,1))<=57)+(CODE(RIGHT(A2:A30001,1))>=65)*(CODE(RIGHT(A2:A30001,1))<=90)))该公式使用ISTEXT函数来判断单元格是否为文本格式,用ISNUMBER函数和RIGHT函数来判断最右侧字符是否为数字,用CODE函数和逻辑运算符来判断最右侧字符是否为英文字母,最后使用SUMPRODUCT函数来计算符合条件的单元格数量。请注意,如果您的数据包含某些特殊字符,这个公式可能不会计算出准确的结果。追问

谢谢解答。
2个公式计算皆显示 0 (错误答案),或许可能这单元格式(或语法),被EXCEL函数或应用公式把它视为无效或错误。

追答

如果两个公式都显示为0,则有几种可能的原因:

    公式中包含错误的单元格引用。请确保引用的单元格是正确的,并且没有类型转换错误或其他问题。

    公式中使用了无效的函数或语法。请检查公式是否正确输入,并且是否使用了正确的函数名称和参数。

    单元格格式不正确。请确保单元格格式为数字格式,而不是文本格式。

    如果您在复制公式时,某些单元格的引用可能会发生变化。请确保公式中的每个单元格引用都指向正确的单元格。

    如果您能提供更多详细信息,例如公式的内容和数据范围,我可以尝试帮助您找到解决方法。

追问

感谢热心解答,因其他因素不容易也不会传输文件,再致谢忱,晚安。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-03-10

一、要计算A2:A30001中最右边的字符是英文字母(26个字母中的任何一个)或数字的单元格数量,您可以使用以下公式:

=SUMPRODUCT(--(ISNUMBER(VALUE(RIGHT(A2:A30001,1)))),--(CODE(RIGHT(A2:A30001,1)))>=65,--(CODE(RIGHT(A2:A30001,1)))<=90)+SUMPRODUCT(--(ISNUMBER(VALUE(RIGHT(A2:A30001,1)))),--(CODE(RIGHT(A2:A30001,1)))>=97,--(CODE(RIGHT(A2:A30001,1)))<=122)

这个公式使用了两个SUMPRODUCT函数来计算两个条件的数量:最右边的字符是数字的数量和最右边的字符是英文字母的数量。在每个SUMPRODUCT函数中,我们使用了两个条件,一个是使用ISNUMBER和VALUE函数检查最右边的字符是否为数字,另一个是使用CODE函数检查最右边的字符的ASCII码是否在英文字母的范围内。

二、要计算A2:A30001中全是数字且没有英文字母的单元格数量,您可以使用以下公式:

=COUNTIF(A2:A30001,"=*"&REPT("[0-9]",LEN(A2:A30001)-1)&"*")-SUMPRODUCT(--(ISNUMBER(VALUE(RIGHT(A2:A30001,1)))),--(CODE(RIGHT(A2:A30001,1)))>=65,--(CODE(RIGHT(A2:A30001,1)))<=90)+SUMPRODUCT(--(ISNUMBER(VALUE(RIGHT(A2:A30001,1)))),--(CODE(RIGHT(A2:A30001,1)))>=97,--(CODE(RIGHT(A2:A30001,1)))<=122)

三、要计算A2:A30001中最右侧为英文字母的单元格数量,可以使用以下公式:

=SUMPRODUCT(--(CODE(RIGHT(A2:A30001,1))>=65),--(CODE(RIGHT(A2:A30001,1))<=90))

该公式使用了SUMPRODUCT函数和两个条件,第一个条件是使用CODE函数检查最右侧字符的ASCII码是否在大写字母的范围内(即65到90),第二个条件使用同样的方法检查最右侧字符是否是英文字母。其中"--"的作用是将TRUE/FALSE转换为1/0,以便在SUMPRODUCT中进行计算。

追问

非常感谢各位答题,抱歉该题又被停题审议中。但全6位的公式在这单元格式下都显示0或错误的,="06445P"这单元格式会有很多应用公式把它视为无效或错误。另铺一个提问,该公式使用的函数程式这格式都可接受。
"excel修改公式,计算A2:A30001中最右侧为英文字母的单元格数量?"有请莅临答题,谢谢

第2个回答  2023-03-14

您可以使用Excel的COUNTIF函数来计算符合条件的单元格数量。具体操作如下:

    在Excel中选择一个空单元格,例如B1,作为计算结果的输出单元格。

    在B1中输入以下公式:
    =COUNTIF(A2:A30001,""&TEXT(ROW(),"0")&"")
    这个公式会遍历A2:A30001中的所有单元格,查找包含任何一个数字和字母的单元格,并将它们计数。

    按Enter键执行公式,并得出结果。

    注意事项:

    在上述公式中,使用了TEXT函数和ROW函数来生成一个数字。这是为了将其与文本串联在一起,以便进行模糊匹配。其中的“0”可以替换为其他数字以获得其他数字组合。

    在A2:A30001中包含非文本或数字字符的单元格不会被计算在内。

    如果单元格中有多个数字或字母,它仍然会被计算为一个单元格。

计算最右1个字是英文字母的单元格数量,可以使用以下公式:

=SUMPRODUCT(--(ISNUMBER(--RIGHT(A2:A30001,1))) * --(ISERROR(--RIGHT(A2:A30001,2))))

该公式将A2:A30001范围内的每个单元格最右侧的1个字符转换成数值,然后判断是否为数字,如果不是数字,则说明该字符是英文字母,将其作为TRUE(1)计数。但是,这个方法可能会忽略掉一些由英文字母和数字组成的编码,因为它们的右侧还有数字,所以需要在判断的时候,增加一个条件,即右侧第二个字符不能转换成数值(也就是有可能是英文字母)。

计算全数字无英文字母的单元格数量,可以使用以下公式:

=COUNTIF(A2:A30001,"=FILTER(A2:A30001,ISNUMBER(--A2:A30001))")

该公式利用了Excel 365版本的新函数FILTER,用于筛选数字单元格。首先将A2:A30001中每个单元格转换成数值,然后使用ISNUMBER函数判断是否为数字,最后使用FILTER函数筛选出所有数字单元格,并使用COUNTIF函数计算其数量。

追问

感谢解答。
公式计算皆显示 0 (错误答案),这单元格式(或语法)会有很多EXCEL函数或应用公式把它视为无效或错误。

第3个回答  2023-03-12
计算A2:A30001最右1个字是英文字母的单元格数量的公式如下:
=COUNTIF(A2:A30001,"* [A-Za-z0-9]")
这个公式使用了 COUNTIF 函数,用于统计符合指定条件的单元格数量。其中,A2:A30001 表示要统计的单元格范围,"* [A-Za-z0-9]" 表示以任意字符开头,后面跟着一个空格和一个英文字母或数字的字符组合。
计算A2:A30001全是数字无英文字母的单元格数量的公式如下:
=COUNTIF(A2:A30001,"*[!A-Za-z]*")
这个公式也使用了 COUNTIF 函数,其中 A2:A30001 表示要统计的单元格范围,"[!A-Za-z]" 表示以任意字符开头和结尾,但是中间不包含任何英文字母。
需要注意的是,以上两个公式假定单元格中只有一个英文字母或数字,如果单元格中还有其他字符,则可能会影响统计结果。追问

感谢解答。
2式计算显示0(错误解答),这单元格式会有很多EXCEL函数或应用公式把它视为无效或错误。另铺一个提问,该公式使用的函数程式这格式都可接受。
"excel修改公式,计算A2:A30001中最右侧为英文字母的单元格数量?"有请莅临答题,谢谢

追答

以下是计算A2:A30001最右侧为英文字母的单元格数量的修正公式:
=SUMPRODUCT(--(CODE(RIGHT(A2:A30001,1))>=65),--(CODE(RIGHT(A2:A30001,1))<=90))
这个公式使用了 SUMPRODUCT 函数,用于对指定的数组中的元素进行逐个计算,并返回它们的总和。其中,A2:A30001 表示要统计的单元格范围,RIGHT(A2:A30001,1) 表示选取每个单元格中最右侧的字符,CODE(RIGHT(A2:A30001,1)) 表示将字符转换成对应的 ASCII 码,然后通过比较 ASCII 码的范围来判断该字符是否为英文字母。如果该字符是英文字母,则返回 1,否则返回 0。最后将所有返回值求和,即得到最终的结果。
对于全是数字无英文字母的单元格数量的计算,之前的公式是正确的,公式如下:
=COUNTIF(A2:A30001,"[!A-Za-z]")
这个公式使用了 COUNTIF 函数,其中 A2:A30001 表示要统计的单元格范围,"[!A-Za-z]" 表示以任意字符开头和结尾,但是中间不包含任何英文字母。这个公式不依赖单元格的格式,可以正确地统计出全是数字的单元格数量。

追问

非常感谢再次解答,上第一式计算显示 #VALUE!(提示"公式所使用的某值其资料类型错误)。

第二式计算显示 0 (错误答案),还是无法完成公式。刚经过50分钟整理,右为英字母或数字2式几近4拾馀个公式中(出自不同解答者),只有找出1及2条适用这格式计算答案的公式(不同解答者),或可和并使用,再致谢忱

第4个回答  2023-03-07
可以使用Excel的COUNTIF函数来计算A2:A30001中最右边一个字符为英文字母或数字的单元格数量。具体公式如下:
=COUNTIF(A2:A30001,"*[0-9A-Za-z]")
这个公式的含义是:对于A2:A30001中的每一个单元格,如果其最右边一个字符是数字或字母,则将其计数。"*[0-9A-Za-z]"表示匹配以任意字符开头,最后一个字符为数字或字母的字符串。通过COUNTIF函数,我们可以统计符合这个条件的单元格数量。
请注意,这个公式假设A2:A30001中的单元格都是文本格式。如果有一些单元格是数值格式,则需要先将它们转换为文本格式。可以使用TEXT函数将数值格式的单元格转换为文本格式,例如:
=COUNTIF(TEXT(A2:A30001,"@"),"*[0-9A-Za-z]")
这个公式首先使用TEXT函数将A2:A30001中的所有单元格转换为文本格式,然后再使用COUNTIF函数统计符合条件的单元格数量。追问

非常感谢各位答题,抱歉该题又被停题审议中。但全6位的公式在这单元格式下都显示0或错误的,="06445P"这单元格式会有很多应用公式把它视为无效或错误。另铺一个提问,该公式使用的函数程式这格式都可接受。
"excel修改公式,计算A2:A30001中最右侧为英文字母的单元格数量?"有请莅临答题,谢谢

相似回答