【问题标题】:Excel formula - How to separate a formula value in a cell into 2 different cells?Excel 公式 - 如何将单元格中的公式值分成 2 个不同的单元格?
【发布时间】:2019-04-09 14:54:45
【问题描述】:

在我的 Excel 工作表中,我有一列从不同工作表的行中获取转置数据。

=TRANSPOSE(DATA!L170:CC170)

一个单元格的数据示例是0/300,并且在整个列中是一致的。

现在我计划在第一列旁边增加 2 个新列来分别显示数字:

| 0/300 | 0 | 300 |

我希望两列在第一列有数据后立即显示它们的值。

起初我想尝试一下内置的文本到列功能。但显然它不起作用,因为它只检测公式而不检测值。

还有其他公式可以做我想要的吗?宏当然可以,但如果有的话,我也在寻找更简单的方法。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    这可能很难实现。我想,不可能。

    为什么?因为 TRANSPOSE 函数返回一个非常精确大小的范围,没有空间可以在其中添加新列。

    解决方法:

    在右侧添加额外的列,超出范围的末尾。只需使用 LEFT / MID / RIGHT 函数从原始文本中获取片段。

    如果范围的大小没有改变,并且内容在相同位置始终相同,则该解决方法将起作用。如果你想要一个(高度)自适应的公式,你需要进入 Excel 的 VBA,这将是“丑陋的”。


    编辑:我认为这是理所当然的,但 @MitchellDeane 有一个好点:

    请注意,如果输入大小不同,您可以在左侧函数中使用 FIND:=LEFT(A1,(FIND("/",A1,1)-1))。如0/300、0/3000、30/30000

    【讨论】:

    • 请注意,如果输入大小不同,您可以在左侧函数中使用 FIND:=LEFT(A1,(FIND("/",A1,1)-1))。如0/300、0/3000、30/30000
    【解决方案2】:

    您可以尝试两种方法:

    方法一

    A 列的公式:

    =IFERROR(LEFT(A1,FIND("/",A1)-1),"")
    

    B 列公式:

    =IFERROR(MID(A1,FIND("/",A1)+1,LEN(A1)-FIND("/",A1)),"")
    

    结果:

    方法二

    • 选择您的数据
    • 转到数据
    • 数据工具选项卡
    • 文本到列
    • 分隔 - 下一个
    • 其他:在框中导入“/” - 下一步
    • 完成

    结果:

    【讨论】:

    • 刚刚意识到这个公式不适用于 Excel 2003。我可以使用其他公式吗?
    • 你遇到了什么问题?
    • #VALUE!是我拥有的数据。
    • 你用其他excel版本得到同样的结果吗?
    • 我现在只能访问 2010(我用来开发的)和 2003(正在使用文件的用户)。
    猜你喜欢
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多