如何在转置Range A1:F2时同步计算数值差值?
问题描述
需要将单元格区域A1:F2的内容转置到H3:I8区域,当前用TRANSPOSE(A1:F2)实现转置,但需要对B2:F2的数值做差值计算:
- I4 = B2 - 0 = 100
- I5 = C2 - B2 = 300
- I6 = D2 - C2 = 200
- I7 = E2 - D2 = -400
- I8 = F2 - E2 = 700
注:待转置的始终仅有一行数据。
解决方案
方法1:分区域处理(兼容多数Excel版本)
转置标题(H4:H8):
在H4单元格输入公式后下拉到H8:=TRANSPOSE(B1:F1)数据量小时也可直接逐个引用:H4输入
=B1、H5输入=C1,以此类推。计算差值(I4:I8):
- I4单元格输入:
=B2(等价于B2-0) - I5单元格输入:
=C2-B2,下拉到I8后,Excel会自动填充后续的=D2-C2、=E2-D2、=F2-E2
- I4单元格输入:
方法2:动态数组公式(Excel 365/Google Sheets)
支持动态数组的环境下,可一键生成差值结果:
生成I4:I8的差值:
=B2:F2 - HSTACK(0, B2:E2)
配合H4:H8的标题公式TRANSPOSE(B1:F1),即可完成整个区域填充。
方法3:一键整合转置与差值
在I4单元格输入以下动态数组公式,自动填充I4:I8的差值结果:
=TRANSPOSE(B2:F2 - HSTACK(0, B2:E2))
补充:一键生成整个H3:I8区域
若要直接生成目标区域所有内容,可用:
=VSTACK( {"", "Product"}, HSTACK(TRANSPOSE(B1:F1), TRANSPOSE(B2:F2 - HSTACK(0, B2:E2))) )
内容的提问来源于stack exchange,提问作者Michi
相关产品推荐
相关产品推荐

