当你用整列相乘时,Excel炸了:用DROP函数完美解决
你有没有遇到过这种情况——
你想让两列数据自动相乘,比如B列乘以C列生成D列。
很简单嘛,不就是:
=B2:C100
然后加个公式:
=B2:B100 * C2:C100
然后向下填充…
等等,为什么报错了?
你TM逗我?
为什么会报错?
原因1:表头是文字
你的表格大概长这样:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
当你用整列引用(B:B * C:C)时:
=B:B * C:C
Excel 会把”单价”和”数量”也拿来做乘法。
文字 * 文字 = #VALUE!
原因2:整列引用会SPILL
当你用:
=B:C
动态数组会尝试输出整个列的结果。
但如果旁边有数据,就会报:
总之就是:不用整列吧,麻烦。用了整列吧,报错。
烦死了。
解决方案:DROP函数
今天教你一个新函数:DROP
语法简单到哭:
=DROP(数组, 要删除的行数)
比如:
-
• =DROP(A1:A10, 1)→ 删除第一行,返回 A2:A10 -
• =DROP(A1:A10, 2)→ 删除前两行,返回 A3:A10 -
• =DROP(A:A, 1)→ 删除第一行,返回整列(除了表头)
怎么用?
回到刚才的问题。
现在你可以这样写:
=DROP(B:B, 1) * DROP(C:C, 1)
解释:
-
• DROP(B:B, 1)→ 删除B列第一行(表头),剩下全是数字 -
• DROP(C:C, 1)→ 删除C列第一行(表头),剩下全是数字 -
• 两个相乘 → 完美!
进阶用法
场景1:多列相乘
=DROP(B:B, 1) * DROP(C:C, 1) * DROP(D:D, 1)
三个列相乘,删掉表头就行。
场景2:配合其他函数
=SUM(DROP(B:B, 1) * DROP(C:C, 1))
先相乘,再求和。
场景3:删除多行
=DROP(A:A, 3)
删除前3行。
总结
DROP函数解决的核心痛点就是:
我知道要干什么,但表头碍事。
在以前,我们得:
-
• 手动选范围(B2:B100) -
• 或者用OFFSET -
• 或者用INDEX
现在不需要了:
=DROP(整列, 1)
一行搞定。
**搞定。下一个。
夜雨聆风