我想检查/检测包含从动态数组溢出的值的单元格。
假设我的单元格中有数据,并且我在单元格中A1:A10写入公式,那么它本身将包含实际的公式和中的值=A1:A10B1B1B2:B10将从动态数组中溢出。
我希望能够区分实际公式和数组的溢出值。更明确地说:我想编写一个条件格式规则,突出显示工作表上动态数组的溢出值(并且仅溢出值)。
我也很高兴有一个 VBA 公共函数,我可以在条件格式中使用它,就像这样=IsSpilledValue(B:B)返回 TRUE 或 FALSE。
根据我的理解,这个问题不是“溢出范围的条件格式”的重复。
编辑1:
我只想突出显示溢出单元格的原因是,对动态数组有些不熟悉的用户不会尝试在溢出单元格中进行更改,而只在包含实际公式的单元格中进行更改。但是,我必须允许其他用户完全手动覆盖,因此锁定单元格不是一个选项。突出显示在这里确实效果最好。
excel vba conditional-formatting excel-formula dynamic-arrays
我想计算数组的累积/运行乘积。
然而,这两个问题下提供的解决方案并不完全是我想要的:
在这些问题下提供的两个解决方案中,该解决方案要么使用SCAN()我当前不可用的函数,要么使用OFFSET()仅允许range类型输入作为数组,而不是使用诸如 之类的函数生成的数组SEQUENCE()。
更明确地说:我想要计算其运行乘积的数组是=SEQUENCE(D11,1,1-D23,D24)其中 D11 是整数,D23 和 D24 是小数。
有没有人对此有公式内解决方案,或者我是否必须执行中间步骤以首先将序列“写入”范围,然后使用该OFFSET()函数?
编辑1:
上述函数的一个例子SEQUENCE()是{0.97, 0.96, 0.95, ..., 0.75}
编辑2:
OFFSET()如果有一种方法可以在不使用range类型数组作为输入的情况下使用它,我当然会对解决方案感到满意。
编辑3:
这是我试图在没有中间步骤的情况下实现的目标的数值示例。