Tag: 表名

Excel使用公式返回表名?

我想知道是否有使用公式返回表的名称? 我正在研究一个方法,将数千个地址分解成信息的透视列。 即..#,街道,城市,州,邮政编码和电话#。 这些地址的格式不是“文本到列”的格式。 我终于想出了完成这个工作的公式,但这个公式很长。 在一篇文章中,我发现它build议使用公式的重复部分作为定义名称。 而且它变得如此简单。 现在是这个问题。 具有表格名称“Table1”的公式在“Table2”中不起作用。 或者任何其他表名。 列标题对于每个表是相同的。 MAX(SEARCH(Table1[@State],Table1[@Origin])) 需要返回表名的方法。 通过公式或公式定义名称。 MAX(SEARCH(GetTableName[@State],GetTableName[@Origin])) 我更喜欢它是一个公式。 我不确定一个VBA解决scheme是否会成为这个问题的正确答案,所以即使它工作,我也不能select它作为答案。 它仍然将不胜感激。 如果我没有find配方解决scheme,我会在另一个post中询问。 TY 我发现这个post有一个VBA解决scheme,但我不能使用它。 我会张贴,所以有人可以弄明白这一点。 波特兰亚军发布了此代码获取表名。 Function GetTableName(shtName As String) As String GetTableName = Worksheets(shtName).ListObjects(1).Name End Function 在该函数中,input名为“SheetName”的My Defined Name公式 =MID(CELL("filename"),FIND("]",CELL("filename"))+1,100) 所以我可以像这样使用它。 =MAX(SEARCH(INDIRECT(GetTableName(SheetName)&"[@State]"),INDIRECT(GetTableName(SheetName)&"[@Origin]"))) 不过,我仍然需要这是只有公式。 虽然我可以在我的电脑上运行macros,但它们不会在拥有所有数据的PC上运行。 这是我用UDF得到的最后一件事。 不幸的是,我仍然不能使用它。 Plus它获取第一个表格的名称,而不是单元格所在的实际表格。如果这是表格中唯一的表格,或者第一个表格是所需的表格,那么该表格很好。 Function GetTableName() As String GetTableName = Worksheets(ActiveSheet.Name).ListObjects(1).Name End Function