Excel 如何根据某一列最后一个非空值进行计算
【摘要】 要在 Excel 中创建一个公式,使第三列的某个单元格显示第二列最后一个非空单元格的数值乘以 7,你可以采用一些 Excel 内置函数来实现。这个过程中,我们将会用到 LOOKUP, INDEX, MATCH 等函数。在这里,我将为你详细解释每一步的操作方法和原理,确保你可以顺利实现这个功能。 解决方案一:使用 LOOKUP 函数LOOKUP 函数在 Excel 中非常适合用来查找一列中的最...
要在 Excel 中创建一个公式,使第三列的某个单元格显示第二列最后一个非空单元格的数值乘以 7,你可以采用一些 Excel 内置函数来实现。这个过程中,我们将会用到 LOOKUP
, INDEX
, MATCH
等函数。在这里,我将为你详细解释每一步的操作方法和原理,确保你可以顺利实现这个功能。
解决方案一:使用 LOOKUP
函数
LOOKUP
函数在 Excel 中非常适合用来查找一列中的最后一个非空单元格。这个函数有两种形式:向量形式和数组形式。在此案例中,我们使用向量形式来查找第二列中最后一个非空单元格的值。
公式构建
在第三列的目标单元格中,输入以下公式:
=LOOKUP(2, 1 / (NOT(ISBLANK(B:B))), B:B) * 7
公式解析
ISBLANK(B:B)
:这个部分会检查第二列每个单元格是否为空,返回一个布尔值数组。NOT(ISBLANK(B:B))
:NOT
函数将上述的布尔值数组取反,即非空单元格对应的结果为TRUE
。1 / (NOT(ISBLANK(B:B)))
:这一步将真值转换为1
,假值因为除以0
而转换为错误值(#DIV/0!)。这使得LOOKUP
函数可以忽略所有空白单元格。LOOKUP(2, 1 / (NOT(ISBLANK(B:B))), B:B)
:LOOKUP
将在由1
组成的数组中查找2
,由于2
大于任何数组中的1
,所以它返回数组中最后一个1
的对应B
列的值。- 结果乘以
7
完成最后的计算。
解决方案二:使用 INDEX
和 MATCH
函数
如果你更倾向于使用 INDEX
和 MATCH
函数,这也是一个非常有效的方法来找到最后一个非空单元格的值。MATCH
函数可以返回指定项在数组中的位置,而 INDEX
函数则可以根据这个位置来返回数组中的具体值。
公式构建
在第三列的目标单元格中,输入以下公式:
=INDEX(B:B, MATCH("zzz", B:B)) * 7
公式解析
MATCH("zzz", B:B)
:这里"zzz"
是一个用来确保MATCH
查找到最后一个非空单元格的技巧。由于"zzz"
在文本排序中位于非常靠后的位置,这个函数会返回第二列中最后一个具体数值的位置。INDEX(B:B, MATCH("zzz", B:B))
:INDEX
函数根据MATCH
函数找到的位置,返回第二列中相应的值。- 结果再乘以
7
,得到最终数值。
通过上述任一解决方案,你都可以在 Excel 中实现在第三列计算第二列最后一个非空单元格的数值乘以 7 的功能。这两种方法各有优势,你可以根据自己的喜好和具体需求选择使用。如果第二列的数据类型是数字,并且你确定列中没有非数字的文本,使用 INDEX
和 MATCH
方法可能更直接一些。如果你希望方法对各种类型的数据都有效,那么使用 LOOKUP
方法可能更安全一些。每种方法都能有效地帮助你达成目标,确保数据的准确计算和管理。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)