首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当不可用时恢复Excel操作

当不可用时恢复Excel操作
EN

Stack Overflow用户
提问于 2020-01-12 04:05:49
回答 2查看 38关注 0票数 0

我在excel上有一个数据框架,我需要为一个朋友在excel上做一个操作。所以不能使用python或R。

我想创建一个新列,在其中执行此操作:

ABS(A2-B2)+ABS(A2-C2)+ABS(A2-D2)+ABS(A2-E2)+ABS(A2-F2)+ABS(A2-G2)+ABS(A2-H2)+ABS(A2-I2)

问题是有些行有NA,因此excel结果是错误的。理想情况下,我希望这样: BB行

ABS(A2-B2)+ABS(A2-C2)+ABS(A2-D2)+ABS(A2-E2)+ABS(A2-F2)不包括+A2(A2-G2)+A2(A2-H2)+A2(A2-I2),因为这最后三行得到NA值。

ABS(6-7)+ABS(6-7)+ABS(6-12)+ABS(6-20)+ABS(6-2) = 26

如果有人能帮上忙,我将不胜感激!谢谢

EN

回答 2

Stack Overflow用户

发布于 2020-01-12 04:47:02

所以试试吧:

=Iferror(ABS(A2-B2),0)+iferror(ABS(A2-C2),0)+iferror(ABS(A2-D2),0)+iferror(ABS(A2-E2),0)+iferror(ABS(A2-F2),0)+iferror(ABS(A2-G2),0)+iferror(ABS(A2-H2),0)+iferror(ABS(A2-I2),0)

票数 0
EN

Stack Overflow用户

发布于 2020-01-12 06:03:10

如果您的NAs始终位于行的末尾,则可以使用以下命令

代码语言:javascript
复制
=SUMPRODUCT(ABS(A1-B1:INDEX(B1:I1,COUNT(B1:I1))))

COUNT只计算数字,所以它只包含数字终止的单元格。在您的示例中,INDEX(B2:I2,COUNT(B2:I2))将返回对F2的引用。计算B2:INDEX部件如下所示

代码语言:javascript
复制
=SUMPRODUCT(ABS(A2-{7,7,12,20,2}))

然后

代码语言:javascript
复制
=SUMPRODUCT(ABS({-1,-1,-6,-14,4}))
=SUMPRODUCT({1,1,6,14,4})

SUMPRODUCT的计算方式类似于数组公式,因此可以避免单独键入每个ABS

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59698213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档