我有一个表,其中列内容是一周中的某些日期的缩写和下划线,用空格分隔,如下所示:
Mon ___ Wed ___ ___ ___
字符串尝试了一些公式,如=LEN(A1)-NÚM.CARAT(SUBSTITUTE(A1;" ";""))+1,但不返回只有天。我只需要计算这几天,忽略下划线和空格。在Excel 2016中只使用公式是否可行?
=LEN(A1)-NÚM.CARAT(SUBSTITUTE(A1;" ";""))+1
1hdlvixo1#
你可以通过用空格替换下划线,然后使用trim删除重复的空格,然后使用你已经拥有的相同逻辑来做到这一点:
=IF(A1="", 0, LEN(TRIM(SUBSTITUTE(A1,"_"," "))) -LEN(SUBSTITUTE(TRIM(SUBSTITUTE(A1,"_"," "))," ",""))+1)
字符串
gwbalxhn2#
也许你也可以使用它,使用FILTERXML()函数:
的数据·单元格B1中使用的公式
=COUNT(--(LEN(FILTERXML("<m><b>"&SUBSTITUTE(A1,"_","</b><b>")&"</b></m>","//b"))=3))
字符串或者,使用FILTERXML()中的节点
的·单元格B1中使用的公式
=COUNTA(FILTERXML("<m><b>"&SUBSTITUTE(A1,"_","</b><b>")&"</b></m>","//b[count(node())>0]"))
型或者
的
=SUM(--(FILTERXML("<m><b>"&SUBSTITUTE(A1,"_","</b><b>")&"</b></m>","//b[node()]")<>""))
型要了解有关FILTERXML()及其在Excel中的用法的更多信息,请参阅**JvdV**Sir的详细分析,请参阅here。
2条答案
按热度按时间1hdlvixo1#
你可以通过用空格替换下划线,然后使用trim删除重复的空格,然后使用你已经拥有的相同逻辑来做到这一点:
字符串
gwbalxhn2#
也许你也可以使用它,使用FILTERXML()函数:
的数据
·单元格B1中使用的公式
字符串
或者,使用FILTERXML()中的节点
的
·单元格B1中使用的公式
型
或者
的
型
要了解有关FILTERXML()及其在Excel中的用法的更多信息,请参阅**JvdV**Sir的详细分析,请参阅here。