gpt4 book ai didi

Excel:从一个单元格中提取一个完整的数字 - 把它们放在一起:)

转载 作者:行者123 更新时间:2023-12-04 20:58:17 26 4
gpt4 key购买 nike

首先,感谢所有帮助我达到这一点的人。我好近!关于这个场景,我提前道歉是一项正在进行中的工作。

我在单元格中有文本,我需要提取一个数字。棘手的部分是要解决各种情况。

  • 该数字可能紧跟在“#”之后,并且长度可能不同。 Stack Overflow 上的人帮助我想出了这个效果很好:
    MID(B2,(FIND("#",B2,1)+1),FIND(" ",B2,FIND("#",B2,1)+1)-FIND("#",B2,1))
  • 这是一个巨大的飞跃,但也存在没有# 符号并且单元格可能有“abc (1205) 645 chan”的情况,我需要在其中提取 645。

  • 我在下面使用这个,在没有“#”时与错误语句一起使用
    TRIM(MID(B53,(FIND(" " &{"1","2","3","4","5","6","7","8","9"},B53,1)),FIND(" ",B53,FIND({"1","2","3","4","5","6","7","8","9"},B53,1))-FIND({"1","2","3","4","5","6","7","8","9"},B53)))

    所以我使用第一个 Mid/Find 来避免 (1205) 并找到下一个“x”,其中 x 是一个数字。问题是,当我要搜索的数字中有 1 或 3+ 个数字时,我似乎遇到了麻烦,但如果它有 2,我返回值就好了。

    看来我已经很接近了,但还没有。

    最佳答案

    此公式将返回 # 后面的数字。或 )在你的字符串中。如果该模式不存在,它将返回 #NUM!` 错误

    =AGGREGATE(14,6,--MID(A1,MIN(FIND({"#",")"},A1&"#)"))+1,{1,2,3,4,5}),1)

    注意数组常量为 num_chars MID 的参数功能。最大数字应至少是最大数字(或十进制 + 数字)加上分隔符和第一个数字之间的任何空格,这可能会被找到。

    编辑 : 如果您的 Excel 版本早于 2010,并且没有 AGGREGATE功能,你可以使用这个 数组输入 代替公式,只要要返回的值是正数:
    =MAX(IFERROR(--MID(A1,MIN(FIND({"#",")"},A1&"#)"))+1,{1,2,3,4,5}),0))

    此公式必须通过按住 ctrl+shift 并按 Enter 来输入

    enter image description here

    关于Excel:从一个单元格中提取一个完整的数字 - 把它们放在一起:),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42248818/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com