Excel中VBA样式范围的选择

Excel中VBA样式范围的选择,vba,excel,Vba,Excel,在电子表格公式(即SumIfs)中,我希望能够使用其分隔符来选择列范围,而不是像在VBA中一样使用A1:A3456样式[RangeA1:A3456~RangeCells1,1,Cells3456,1] 如果这是不可能的,是否有任何解决方法可以使用“匹配”函数的结果来获取要应用某些条件的列号 我的函数看起来像 =Sumifs(A2:A10;*{range(cells(1,match(Z5;A1:T1)), cell(10,match(Z5;A1:T1))}*,"="&1) …如果我能在电

在电子表格公式(即SumIfs)中,我希望能够使用其分隔符来选择列范围,而不是像在VBA中一样使用A1:A3456样式[RangeA1:A3456~RangeCells1,1,Cells3456,1]

如果这是不可能的,是否有任何解决方法可以使用“匹配”函数的结果来获取要应用某些条件的列号

我的函数看起来像

=Sumifs(A2:A10;*{range(cells(1,match(Z5;A1:T1)), cell(10,match(Z5;A1:T1))}*,"="&1)

…如果我能在电子表格中添加vba公式就好了。

使用偏移量,作为工作表函数,它比vba中的函数丰富得多

语法

偏移参考、行、列、[高度]、[宽度]

偏移量函数语法具有以下参数:

需要参考。要从中创建基础的引用 抵消引用必须指一个单元格或相邻单元格的范围; 否则,OFFSET返回值!错误值

行是必需的。所需的行数(向上或向下) 要引用的左上角单元格。使用5作为rows参数指定 引用中左上角的单元格位于下面五行 参考行可以是正的,这意味着低于起始值 参考值或负值,表示高于起始参考值

需要可乐。左边或右边的列数 您希望结果的左上角单元格引用。使用5作为 cols参数指定引用中的左上角单元格为 参考右侧有五列。Cols可以是阳性的 是指起始引用的右侧,或是指 在起始参考的左侧

高度可选。所需的高度(以行数为单位) 返回要删除的引用。高度必须为正数

宽度可选。所需的宽度(以列数为单位) 返回要删除的引用。宽度必须为正数


中,您可以使用Address和Indirect的组合,如下所示:

=SUM(INDIRECT(ADDRESS(1,1) & ":" & ADDRESS(3456,1)))
这相当于=SUMA1:A3456

地址从样式Cellsi,j转换为样式A1

间接用于将结果字符串解释为范围地址

这里的SUM是一个用法示例


嗯,这有点难看,但如果你想偶尔这样做,不想完全切换到RC样式,这可能是最简单的方法。

检查一下:你可以首先想到使用RC格式。R1C1是A1,您也可以用它进行偏移,例如,在单元格B2中,您写入=RC[-1],它提供对同一行和列中单元格的引用减去1,或A1。结合MATCH,探索INDEX函数提供给您的选项