根据MS excel 2016电子表格中的表格,我正在使用sum
vlookup
数组函数,以便为给定的查找值构建两列的总和:
=SUM(VLOOKUP(lookup_value, lookup_range, {2,3,4}, FALSE))
表格通常如下所示:
Lookup_value January February March April
8/15/2020 $1.66 $1.40 $1.05 $103.00
2/15/2021 $1.50 $1.97 $0.47 $99.51
8/15/2021 $1.50 $1.96 $0.46 $99.05
2/15/2022 $1.50 $1.95 $0.45 $98.60
8/15/2022 $1.50 $1.94 $0.44 $98.15
2/15/2023 $1.50 $1.93 $0.43 $97.72
8/15/2023 $1.50 $1.93 $0.43 $97.30
例如,
的结果=SUM(VLOOKUP( 8/15/2020, $A$1:$G$5, {January, March}, FALSE))
是$ 1.66 + $ 1.05 = $ 2.71
有没有办法通过点击不同的单元格来动态更改查找值?我需要一个工具来为不同的日期查找值生成这个vlookup总和,当我点击它们时定义。
如何根据游标操作动态更改vlookup值?
答案 0 :(得分:1)
每次用户双击时,是否可以使用工作簿事件监控点击次数来重建vlookup公式?
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
在“ThisWorkbook”对象的代码中使用这些。然后使用ActiveCell.Address
或类似方法重建vlookup。每次用户双击时添加到vlookup,并包含用于重置vlookup的“清除”按钮。
答案 1 :(得分:0)
取代公式和VBA,取消数据显示会更简单(如果你有的话,使用PowerQuery,或者如果你没有,则使用VBA),将数据转换为数据透视表,然后在Month字段上添加Slicer 。没有必要的VBA,以及完全相同的结果:有人点击他们想要的月份,数据透视表显示所需的聚合。