标签: named-ranges

在Excel中引用命名范围的单行/列的最短方法?

我有一个命名范围 ( NamedRange1),我需要在公式中引用该范围的第一行和第一列。我想出了以下内容:

  • 第一排:

    INDIRECT("R" & ROW(UnpivotSource) & "C" & COLUMN(UnpivotSource) & ":R"& ROWS(UnpivotSource) +ROW(UnpivotSource) -1 & "C" & COLUMN(UnpivotSource),0)

  • 第一栏:

    INDIRECT("R" & ROW(UnpivotSource) & "C" & COLUMN(UnpivotSource) & ":R"& ROW(UnpivotSource) & "C" & COLUMNS(UnpivotSource) + COLUMN(UnpivotSource) -1,0)

这似乎很麻烦,特别是因为Excel对象模型公开Rows,并Columns在VBA。有没有更简洁的表达方式?

worksheet-function named-ranges microsoft-excel

9
推荐指数
1
解决办法
4万
查看次数

Excel 2007 中的表和命名区域有什么区别?

有人可以解释 Excel 2007 中 Excel 表格和命名范围之间的区别吗?似乎除了具有命名范围的功能外,它们还以某种方式标记为表格,这在功能区中为它们提供了特殊的格式设置和过滤选项。

其他问题:

  1. 我可以将表视为命名范围吗?
  2. 命名范围是否为我提供了表不提供的任何功能,反之亦然?
  3. 我应该使用一个吗(假设电子表格的使用者使用的是 Excel 2007 或更高版本)?

谷歌没有帮助(excel difference between named range and tableexcel 2007 difference between named range and table),我找到了一个描述表功能的资源,但没有提到命名范围。

编辑:似乎主要区别在于能够使用结构化引用。还可以轻松地重新调整表格的尺寸,并在不移动整个列的情况下插入新列,尽管最后两个仅来自我的观察。

microsoft-excel-2007 named-ranges microsoft-excel

8
推荐指数
2
解决办法
3万
查看次数

Excel 重命名表时告诉我我的名字已存在

我已将外部工作簿中的表复制到另一个工作簿中。当我重命名表(在设计选项卡上)时,Excel 告诉我该名称已存在。当我将 Excel 中的范围重命名为相同名称时,效果很好。

\n\n

该名称不会出现在名称管理器中,并且仅当我将项目格式化为表格时才会出现这种情况。

\n\n

我已将表格粘贴为纯文本并重命名,效果很好。然后我删除该名称并转换为表并重命名,它再次告诉我该名称存在。\n我对此完全困惑

\n\n

根据评论 - 下面的图片(抱歉不知道它们是否可以添加到评论中):

\n\n

it\xe2\x80\x99s 位置中的表名为“BandLU2”:

\n\n

it\xe2\x80\x99s 位置中的表名为“BandLU2”

\n\n

更名为BandLU

\n\n

更名为 BandLU

\n\n

检查名称管理器 - 名称不存在:\n检查名称管理器 - 名称不存在

\n\n

用相同的名称命名一个范围,它工作正常:\n用相同的名称命名一个范围,效果很好

\n

named-ranges microsoft-excel microsoft-excel-2010

6
推荐指数
1
解决办法
1万
查看次数

将列添加到命名范围后,如何防止 VLOOKUP 中断?

我的 Excel 工作表在我定义的命名范围内包含许多 VLOOKUP。现在,当我在命名范围的中间添加一列时,在插入的列之后引用列的 VLOOKUP 现在已损坏。我明白这个问题,但最好的解决方法是什么?有没有办法从标题文本中找出列号?

[编辑] 使用 Kaze 的 INDEX 和 MATCH 想法似乎是最好的解决方案。这是我的结果:

INDEX(MyTableData, MATCH("RowLabel", RowList, 0), MATCH("ColumnLabel", ColumnList,0))
Run Code Online (Sandbox Code Playgroud)

其中 MyTableData 是整个表的命名范围,RowList 是行标题的命名范围,ColumnList 是列标题的命名范围。

named-ranges vlookup microsoft-excel

5
推荐指数
1
解决办法
2万
查看次数

Excel 引用带有文本和公式的命名范围

是否可以通过将文本与公式组合来引用命名范围?假设我通过 INDEX 获得一个范围的名称,它返回一个文本,但我也想在文本后添加一些内容,如下所示:

范围和“之后的一切”

我有几个命名范围,因此为了动态引用这些范围,我需要在该 RANGE 文本之后添加一些内容。但是Excel给出了一个错误。

简而言之

命名范围:

范围1 范围2 范围3 等等

我想要的是用计数公式说:

=COUNTIF(RANGE & "whatever comes after",1)
Run Code Online (Sandbox Code Playgroud)

如果我尝试这样做,那么 Excel 会给出一个错误,那么我想要做的甚至可能吗?

worksheet-function named-ranges microsoft-excel

5
推荐指数
1
解决办法
2万
查看次数

在 Excel 2010 VBA 中仅按列名引用单元格

在 Excel 2010 中,我需要逐行浏览数据表并在 VBA 中操作数据。

我原来的函数是这样的:

Private Function GetValue(ByVal myRange As Excel.Range, ByVal strCol As String) As String
    Dim myCell As Object
    Set myCell = myRange.Cells(, strCol) 
    GetValue = myCell.Value 
End Function
Run Code Online (Sandbox Code Playgroud)

我这样称呼它:

GetValue(myRow, "AE")  
Run Code Online (Sandbox Code Playgroud)

myRow是表示一行的 Excel.Range。
"AE"是列索引。

我想转换为使用列名而不是列索引,因为用户将来可能会选择添加或删除列。我将一系列单元格标识为 Excel 中的表格,命名该表格,并选择唯一的列名。

这意味着我现在将使用以下方法调用该函数:

GetValue(myRow, "column_name")
Run Code Online (Sandbox Code Playgroud)

但我找不到可以仅指定列名而不指定行的示例。

这甚至可行吗?

vba named-ranges microsoft-excel-2010

3
推荐指数
1
解决办法
3万
查看次数