乐于分享
好东西不私藏

当你用整列相乘时,Excel炸了:用DROP函数完美解决

当你用整列相乘时,Excel炸了:用DROP函数完美解决


你有没有遇到过这种情况——

你想让两列数据自动相乘,比如B列乘以C列生成D列。

很简单嘛,不就是:

=B2:C100

然后加个公式:

=B2:B100 * C2:C100

然后向下填充…

等等,为什么报错了?

#VALUE!

你TM逗我?


为什么会报错?

原因1:表头是文字

你的表格大概长这样:

A
B
C
D
商品
单价
数量
总价
苹果
10
5
香蕉
8
3

当你用整列引用(B:B * C:C)时:

=B:B * C:C

Excel 会把”单价”和”数量”也拿来做乘法。

文字 * 文字 = #VALUE!

原因2:整列引用会SPILL

当你用:

=B:C

动态数组会尝试输出整个列的结果。

但如果旁边有数据,就会报:

#SPILL!

总之就是:不用整列吧,麻烦。用了整列吧,报错。

烦死了。


解决方案:DROP函数

今天教你一个新函数:DROP

语法简单到哭:

=DROP(数组, 要删除的行数)

比如:

  • • =DROP(A1:A10, 1) → 删除第一行,返回 A2:A10
  • • =DROP(A1:A10, 2) → 删除前两行,返回 A3:A10
  • • =DROP(A:A, 1) → 删除第一行,返回整列(除了表头)

怎么用?

回到刚才的问题。

现在你可以这样写:

=DROP(B:B1) * DROP(C:C1)

解释:

  • • DROP(B:B, 1) → 删除B列第一行(表头),剩下全是数字
  • • DROP(C:C, 1) → 删除C列第一行(表头),剩下全是数字
  • • 两个相乘 → 完美!

没有#VALUE!,没有#SPILL!,只有正确答案。


进阶用法

场景1:多列相乘

=DROP(B:B1) * DROP(C:C1) * DROP(D:D1)

三个列相乘,删掉表头就行。

场景2:配合其他函数

=SUM(DROP(B:B1) * DROP(C:C1))

先相乘,再求和。

场景3:删除多行

=DROP(A:A3)

删除前3行。


总结

DROP函数解决的核心痛点就是:

我知道要干什么,但表头碍事。

在以前,我们得:

  • • 手动选范围(B2:B100)
  • • 或者用OFFSET
  • • 或者用INDEX

现在不需要了:

=DROP(整列, 1)

一行搞定。

**搞定。下一个。