如何拆分同一单元格内的独立公式并纵向显示多公式计算值?
嘿,这两个问题我日常帮同事解决过好多次,给你详细拆解下:
一、拆分同一单元格内的独立公式
首先得分两种情况处理,取决于你的单元格里是未计算的公式文本还是已经组合计算后的结果:
- 如果单元格里是直接输入的公式文本(比如单元格内容是
=SUM(A1:A5) =AVERAGE(B1:B5) =MAX(C1:C5)):- 如果你用的是Excel 365/2021版本,直接用
TEXTSPLIT函数拆分,比如假设目标单元格是A1,要拆分到B1、C1、D1,就写=TEXTSPLIT(A1, " ")(这里用空格作为分隔符,如果是换行符就换成CHAR(10))。 - 旧版本的话,可以用
FIND+MID组合提取,比如提取第一个公式:=MID(A1,1,FIND(" ",A1)-1),后面的公式依次调整起始位置和分隔符位置就行。
- 如果你用的是Excel 365/2021版本,直接用
- 如果单元格是用连接符组合多个公式的计算结果(比如单元格公式是
=SUM(A1:A5)&" "&AVERAGE(B1:B5)&" "&MAX(C1:C5)):- 先选中单元格,在编辑栏里找到原组合公式,把每个独立公式(比如
SUM(A1:A5)、AVERAGE(B1:B5))单独复制出来,放到新的单元格里即可。 - 要是想批量提取,也可以用
FORMULATEXT(A1)先获取单元格的公式文本,再用TEXTSPLIT拆分提取里面的独立公式部分。
- 先选中单元格,在编辑栏里找到原组合公式,把每个独立公式(比如
二、在同一单元格内纵向显示三个公式的计算结果
这个完全可行,核心是用换行符来实现纵向排列,步骤很简单:
- 组合公式+换行符:用
CHAR(10)代表换行符,把三个公式的结果连接起来,比如:
要是嫌写多个=SUM(A1:A5)&CHAR(10)&AVERAGE(B1:B5)&CHAR(10)&MAX(C1:C5)&麻烦,用TEXTJOIN更高效(同样支持365/2021):=TEXTJOIN(CHAR(10), TRUE, SUM(A1:A5), AVERAGE(B1:B5), MAX(C1:C5)) - 开启自动换行:选中这个单元格,右键→「设置单元格格式」→「对齐」选项卡,勾选「自动换行」,这样结果就会自动纵向排列了。
- 如果要显示公式本身而非结果:用
FORMULATEXT函数把公式转成文本,比如:
同样记得开启自动换行,就能看到三个公式纵向排列在一个单元格里了。=FORMULATEXT(B1)&CHAR(10)&FORMULATEXT(C1)&CHAR(10)&FORMULATEXT(D1)
内容的提问来源于stack exchange,提问作者Devin
相关产品推荐
相关产品推荐

