Excel公式-如何将一个单元格中的公式值分为2个不同的单元格?

时间:2019-04-09 06:11:43

标签: excel excel-formula

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

=TRANSPOSE(DATA!L170:CC170)

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

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

| 0/300 | 0 | 300 |

我希望第一列中有数据时,两列立即显示其值。

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

还有其他公式可以满足我的要求吗?宏当然可以工作,但如果有的话,我也在寻找一种更简单的方法。

2 个答案:

答案 0 :(得分:3)

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

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

解决方法:

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

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


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

  

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

答案 1 :(得分:1)

您可以尝试两种方法:

方法1

A列的公式:

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

B列的公式:

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

结果:

enter image description here

方法2

  • 选择您的数据
  • 转到数据
  • “数据工具”标签
  • 文本到列
  • 定界-下一个
  • 其他:在框中输入“ /”-下一步
  • 完成

结果:

enter image description here