【问题标题】:How do i move or exctract number portions from a cell to another in excel如何在excel中将数字部分从一个单元格移动或提取到另一个单元格
【发布时间】:2022-10-14 22:45:31
【问题描述】:

我想将数字从一个单元格移动到另一个单元格,或者以某种方式将数字从一个单元格提取到另一个单元格,并将数字从其前一个单元格中删除。

我希望如何呈现数据的图片

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    尝试:

    B1 中的公式:

    =--CONCAT(IFERROR(--MID(A1,SEQUENCE(LEN(A1)),1),""))
    

    或者,如果您有 Test1 Test2 123456 之类的值:

    =--LET(a,TEXTSPLIT(A1," "),FILTER(a,ISNUMBER(--a)))
    

    编辑:问题不仅仅是关于移动数字,而是关于没有数字和数字的单独呈现输入。因此尝试:

    C1 中的公式:

    =LET(a,TEXTSPLIT(A1," "),HSTACK(TEXTJOIN(" ",,FILTER(a,ISERROR(--a))),--FILTER(a,ISNUMBER(--a))))
    

    【讨论】:

    • 感谢您的贡献!但我没有从这个公式中得到我想要的答案。我也不希望 B 中的结果出现在 A 中,B 应该只包含字母
    • 更正;数字* 不是字母 - b 应该只包含数字!
    • 对,我明白你的意思。我会编辑答案
    【解决方案2】:

    我建议使用FILTERXML() 来提取数字节点。

    =TRANSPOSE(FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s[number()=.]"))
    
    • 这里"&lt;t&gt;&lt;s&gt;"&amp;SUBSTITUTE(A1," ","&lt;/s&gt;&lt;s&gt;")&amp;"&lt;/s&gt;&lt;/t&gt;" 将构造一个有效的xml 字符串。
    • FILTERXML() 将处理该 xml 字符串,xPath 参数 //s[number()=.] 将仅返回数字节点。

    要了解更多关于FILTERXML() 的信息,请阅读@JvdV 的this post

    【讨论】:

      猜你喜欢
      • 2016-10-31
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-22
      • 2018-03-26
      相关资源
      最近更新 更多